Նյարդային ցանցեր, գրաֆիկական դիզայն և մահվան մետաղ

Չորեքշաբթի, 28 Մարտ 2017-ին, ես Սինգապուրի Ստեղծագործական օրենսգրքի հանդիպմանը զրուցեցի նյարդային ցանցերի, գրաֆիկական դիզայնի և մահվան մետաղի իմ փորձերի մասին: Ընդհանուր հերոս Անդրեաս Շլեգելը նույնպես խոսում էր, և նրա սլայդները կարող եք գտնել այստեղ: Ստորև ներկայացվում է իմ ելույթի գրությունը: Դուք կարող եք տեսնել ավելի շատ փորձեր իմ Instagram- ում կամ հետևել ինձ Twitter- ում:

Ներկայումս ես փորձում եմ զարգացնել որոշ հիմնական գիտելիքներ այն մասին, թե ինչպես կարելի է աշխատել նյարդային ցանցերի և մեքենայական ուսուցման հետ, որպեսզի հետագայում կարողանամ հետագայում կատարել ավելի խորը հետաքննություն, կամ օգտագործել տեխնիկան նախագծերում: Եվ դա կատարելու լավագույն միջոցը թվում էր, թե պարզապես ձեռքերս կեղտոտվել և սուզվել են:

Այս հետազոտություններից շատերը բացարձակապես ավարտված են, և իրականում գործնական չեն: Բայց կան շատ կողմնակի բաներ, որոնք ես սովորել եմ այդ ճանապարհին, որոնք այդքան օգտակար են եղել: Կփորձեմ և տարածել այս բաները ամբողջ ընթացքում:

Ես ձեզ մի կարճ ժամանակահատված կտամ, թե ինչպես եմ այն ​​մտել, այնուհետև մի քանի վաղ ուսումնասիրություններ, այնուհետև անցել մարզման և մահվան մետաղական պատկերանշանների առաջացմանը:

DCGAN- ի կողմից ալբոմի ծածկոցներ փնտրելիս ստեղծված դեմք

Մի քիչ ենթատեքստ տալու համար իմ նախապատմությունը գրաֆիկական ձևավորման մեջ է: Ես իսկապես տեսողական անձնավորություն եմ, և դա այն է, ինչ անում եմ իմ աշխատանքի համար: Միանշանակ ես հմուտ տեխնիկ չեմ, երբ խոսքը վերաբերում է ծածկագրին, բայց ես միշտ հետաքրքրություն եմ առաջացրել տեխնոլոգիայի նկատմամբ և միշտ էլ փնտրում եմ երկուսի խառնուրդը: Իմ հետաքրքրությունը տեխնոլոգիայի նկատմամբ միայն տեսողական տեսանկյունից չէ, չնայած որ դա միանշանակ դրա մի մասն է, և ես վայելում եմ անկանխատեսելի ելքը ՝ որպես տեսողական լեզվի նոր աղբյուր; բայց նաև կրիտիկական տեսանկյունից. որքանո՞վ կարող են փոխել այս նոր տեխնոլոգիաները իմ դիզայներ դերը: Ինչ վերաբերում է իմ գործընթացին: Ո՞րն է իմ նպատակը ապագայում: Ես գրել եմ այս խնդիրներից մի քանիսը AIGA- ի համար որոշ ժամանակ առաջ, և դա ինձ խթանեց, որ ուզում եմ հետագա ուսումնասիրություններ կատարել:

Robոն Գոլդը վերցնելով ռոբոտներին դպրոց ձևավորելու համար

Ավտոմատացման և դիզայնի ճիշտ ուսումնասիրման իմ հետաքրքրությունը սկսվեց այն ժամանակ, երբ կարդացի այս հոդվածը aոն Գոլդի դիզայներների կողմից: Այն կոչվում է «Ռոբոտներին դիզայնի դպրոց վերցնելը»:

Դրանում նա ուրվագծում է իր սեփական աշխատանքը, որում նա իրականացնում է որոշ հաճախակի վերլուծություն ընդհանուր օգտագործվող տիպի զույգերի վերաբերյալ, և ալգորիթմականորեն գաղափարներ է առաջացնում նոր տիպի զույգերի համար, որոնք նա նախկինում չէր մտածել: Դա լավ պատկերացում է այն մասին, թե ինչպես կարելի է այնպիսի բան, որը թվում է այդքան մեծ և վախկոտ, կարելի է կիրառել շատ ամուր խնդիրների համար և իսկապես օգտակար լինել:

Պատկերային դաշտ «սնկի» դասի համար ՝ Քայլ Մաքդոնալդ

Ավելի ուշ ես գտա Քայլի Մաքդոնալդի մի հոդված, որը կոչվում է «Վերադարձ մեքենայական ուսուցում»: Այս պահի դրությամբ ես նայում էի Էնդրյու Նգի Coursera դասընթացին և ծայրաստիճան ջղայնացած էի, ուստի գտնել այս գեղեցիկ գրված և պատկերազարդ գրությունը անգնահատելի էր: Դա ստիպեց մեքենայական ուսուցումը հանկարծ ինձ համար մատչելի տեսք ունենալ, մի կիսով չափ դիզայներ, որը կարող էր գարի օգտագործել տերմինալը, էլ չասեմ, որ NN- ներ պատրաստի:

Կա մի շարք ծայրաստիճան օգտակար հղումներ: Ես, ըստ էության, անցա հոդվածը, որը մեթոդականորեն ուսումնասիրում էր յուրաքանչյուրին: Այնտեղ կան այն բոլոր իրերը, որոնց մասին դուք հավանաբար լսել եք նախկինի պես `երազի խորքային և նյարդային ոճի փոխանցում, բայց այս պահին այդ ամենը կարծես թե վերևից վեր էր:

Effեֆրի Թոմփսոն

Հղումներից մեկը ձեզ է ներկայացնում Andrej Karpathy- ի Char-RNN- ի և Justinասթին nsոնսոնի Torch-RNN- ի հետ: Երկուսն էլ կրկնվող նյարդային ցանցեր են, որոնք կարող են որպես տվյալների ներդրում վերցնել տվյալների կորպուսը, և ուսումնական ժամանակահատվածի ընթացքում կսկսեն սովորել տվյալների գծային կառուցվածքը, այս դեպքում տեքստում:

Մինչ այժմ ես չգիտեի, թե ինչ է կրկնվող նյարդային ցանցը: Եվ իսկապես, ես դեռ լավագույն դեպքում միայն անորոշ հասկացողություն ունեմ: Բայց դա ուղղակի կախարդանքի էր նման, և ես ոգևորվեցի:

Torch-RNN Github- ի վրա aեֆ Թոմփսոնի գդալով մի զարմանալի ձեռնարկի մի հղում կար, որը կերակրում է ձեզ, թե ինչպես կարելի է ամեն ինչ կարգավորել ՝ ջահը, CUDA- ն, այդ ամբողջ ցնցումները: Ես այդպես էլ արեցի: Եվ հրաշքով այն գործեց: Ես չեմ կարող ասել, թե որքան օգտակար էր այդ ձեռնարկը: Մինչ այժմ ես հուսահատորեն փորձում էի Tensorflow- ը վազել, կարդալով ուսուցողական դասընթացներ Թանոյի և Կաֆեի մասին և պարզապես բոլորովին էլ չունեի հաջողություն: Մինչ օրս ես դեռ օգտագործում եմ ջահը ՝ այն պարզ պատճառով, որ դա միակ բանն է, որ կարող էի վեր կենալ և վազել:

Վերևում բերված է մի քանի նմուշ տեքստ `պարոն Թոմփսոնի կողմից Շեքսպիրի ամբողջական աշխատանքների մասին դասընթացից հետո: Եվ դա կախվածություն է առաջացնում, մարզվել մեկ ժամ կամ ավելին, պարզապես հրամաններ մուտքագրելով և վերադառնալ այն տեքստին, որը հնչում է այնպես, ինչպես գրել է հիմնական մարդը:

Այնուամենայնիվ, Շեքսպիրում մարզվելը մի փոքր ձանձրալի է: Ես ուզում էի ավելի շատ բան… խելամիտ:

Ուսուցում lols

Այսպիսով, ես գտա մի կայք ՝ սարսափելի կատակներով, և պատրաստեցի դրանց:

RNN- ները տարօրինակ հումոր ունեն

Սոուո Ես այն երկար ժամանակ չեմ մարզել, և դա առաջացրել է վերը նշվածը: Բայց ես զարմացա, որ չնայած դա անիմաստ է, բայց այնտեղ ինչ-որ կառույց կար: Զանգը և պատասխանը, նույնիսկ որոշ պատշաճ բառեր: Հեշտ է հասկանալ, թե ինչու է այս տեխնիկան լավ դրսևորում Շեքսպիրը, հաշվի առնելով, որ վերը նշվածը հնչում է, կարծես, միջնադարյան դիմադրողական ռեժիմ: Այստեղից ի վեր ես գտա այլ գեներացված տեքստի որոշ մարդասպան օրինակներ:

Մահվան մետաղական լոգոների ճանապարհին ես ուսումնասիրեցի մի քանի այլ ցանցեր, որոնք նշվում են աշխատանքի մասին:

Առաջին հերթին Darknet- ը `PJ Reddie- ի կողմից, որը հիանալի օբյեկտի դասակարգիչ է, որը դուք կարող եք վարել նաև ձեր տերմինալի միջով, որպես C ++ բան (որը ես վերը նշվածն եմ ստեղծել), կամ այժմ կա OFXDarknet, որի հետ կարող եք աշխատել OpenFrameworks- ում: Այն դասակարգում է դեռևս պատկերները կամ տեսանյութերը, և դուք կարող եք օգտագործել նախնական պատրաստված մոդելներ մի շարք տարբեր տվյալների հավաքածուների վրա: Վերը նշված տեսանյութի տարբերակում ես օգտագործել եմ նախապես պատրաստված մոդել, բայց կապված է օբյեկտի պիտակների սխալ փաթեթի հետ, որն ակնհայտ հիմարություն է: Բայց ես գտա դա բավականին անսպասելի և հետաքրքիր:

Ես մի փոքր հետևեցի այդ սխալին և Darknet- ին ուղարկեցի հոգեբանության թեստ: Սա արվել է ՝ օգտագործելով OFXDarknet հավելումը OpenFrameworks- ի համար: Darknet- ը սիրում է տորթ:

Pix2Pix ցուցադրում

Հաջորդը Pix2Pix- ն է: Դուք հավանաբար այս ամենը տեսել եք վերը նշված վեբ կայքում կամ Mario Klingemann- ի հիանալի աշխատանքի միջոցով: Դա շատ զվարճալի է:

Պատկերային զույգեր մարզման համար

Դուք մարզում եք Pix2Pix- ը զույգ պատկերների վրա, ինչպիսին է ձախը: Մի պատկեր հանդես է գալիս որպես ուղեցույց, իսկ մյուսը հանդես է գալիս որպես թիրախային պատկեր: Անցը սկսում է ճանաչել զույգերի միջև փոխհարաբերությունները, և ի վերջո դուք կարող եք այն տրամադրել ուղեցույցի պատկեր, և այն կփորձի թիրախ առաջացնել:

edge2 ձեռքի պայուսակներ

Ինչ վերաբերում է Darknet- ին, կան նախապես պատրաստված մոդելներ, որոնց միջոցով կարելի է ներբեռնել և խաղալ:

Հատկապես մեկը, որ իմ ֆանտաստիկն էր վերցնում, edge2handbags տվյալների բազան էր: Այս տվյալների շտեմարանը ստեղծվում է Amazon- ից պայուսակների պայուսակների մի տոննա պատկերներով և պատրաստված է ՝ օգտագործելով ալգորիթմորեն ստեղծված ուրվագիծը ՝ որպես պատկերի զույգ: Արդյունքների օրինակները բավականին զարմանալի են:

Այսպիսով, ահա ինձ ՝ որպես պայուսակներ: Ես սիրում եմ գեղանկարչական զգացողություն այդ մասին, չնայած այն նաև բավականին հիվանդ է:

Այստեղ հիշատակելու համար կան մի քանի ծայրամասային բաներ. Ծրագիրը չափազանց մեծ է համակարգչի GPU- ի վրա աշխատելու համար: Դա պարզապես չի կարող դա վերցնել, այնպես որ ես պետք է սովորեի, թե ինչպես հիմնել Amazon GPU օրինակ, որը այնքան էլ հեշտ չէ, որքան կարող էր լինել: Ես օգտագործել եմ այս մեկը, քանի որ այն արդեն տեղադրված է CUDA գործիքակազմ և պատրաստ է գնալ: Նաև ImageMagick- ի և ffmpeg- ի հետ աշխատելն այս տեսանյութերը շատ ավելի դյուրին դարձան, և մինչ այս նախագիծն իրականացնելը ես երբեք չէի լսել դրանցից որևէ մեկի մասին: Ես դեռ օգտագործում եմ ImageMagick- ը ՝ վերապատրաստման համար տվյալների բազաների նախապատրաստման համար: Դա հիանալի է:

Ես շարունակեցի ուսումնասիրել Pix2Pix- ը որոշ ժամանակ, հիմնականում այն ​​բանի համար, որ որոնման և փորձերի համար շատ տեղ կա: Կա չափորոշիչների մի խիստ փաթեթ, որը պետք է պահպանվի, բայց դա այն է, ինչը դարձնում է այդքան օգտագործելի: Դրա հետ կարելի է անվերջ զվարճանալ: Վերոնշյալը վիդեո է, որը ստեղծվել է Google- ի քարտեզներից վերցված քարտեզների, արբանյակային պատկերների զույգով պատրաստված տվյալների բազայից: Ես ստեղծեցի մի էկրանային ձայնագրություն, որով մեծանում էի հայրենի քաղաքը (բղավոց Slough!), Այնուհետև օգտագործեցի ffmpeg- ը `այն բաժանելով առանձին շրջանակների: Դրանից հետո ես խմբաքանակով վերամշակեցի նկարները Pix2Pix- ի միջոցով և ստացված արդյունքները թողեցի վիդեո ՝ կրկին օգտագործելով ffmpeg:

Իհարկե, որպես դիզայներ, ոչ ոք չի կարող օգնել, բայց զվարճանում է տպագրությունից: Այսպիսով, ահա արդյունքը, որը ստեղծվում է տառերով ձևավորված ուղեցույցի պատկերները ֆասադների տվյալների շտեմարանում: Ես կցանկանայի փորձել գտնել այս խելագար տառերի ձևերը:

Ողջույն m8

Հետո գտա DCGAN- ը: Սա մեկն է, որի հետ ես դեռ սիրում եմ խաղալ: Դուք DCGAN- ը մարզում եք պատկերների տվյալների բազայում, ապա խնդրում եք, որ այն ստեղծի մոդելից նորերը: Դա հակառակորդային ցանց է, ինչը նշանակում է, որ իրականում դուք մարզման ընթացքում մարզում եք երկու ցանցեր, որոնք այդպիսի հաճույք են ստանում և փորձում եք միմյանց սայթաքել: Դրա մասին կարող եք կարդալ Github- ում և հարակից թերթում:

Դուք կարող եք ներբեռնել այն մոդելներից մեկը, որը նախապատրաստվել է հայտնի մարդկանց 10000 պատկերների վրա: Որն է զվարճալի: Մեծն այն է, որ դուք կարող եք նոր պատկերներ առաջացնել բազմաթիվ եղանակներով: Կարող եք մեկ պատկերներ առաջացնել վերը նշվածի նման:

Ողջույն m8s

Կամ եթե ընկերներից պակաս եք, կարող եք ստեղծել նորերի գոբելեն, ինչպես սա: Մետաքսի շարֆ, որևէ մեկը:

Դրա հետ աշխատելու իմ ամենասիրելի ձևն է `ցանցը ստեղծել մի շարք պատկերներ, որոնք« քայլ են »առաջացնում երկու ստացված արդյունքների միջև, այնուհետև դրանք դրանք վերը նշվածի նման նկարել:

Մինչ այժմ ես ավելի հարմարավետ էի զգում այդ ամենի գործի հետ և պատրաստ էի փորձել և մարզել սեփական ցանցը:

Ես դիզայներ եմ, և ես նույնպես ծույլ եմ: Ես գտա լոգոյի այս տվյալների բազան: Իսկապես սարսափելի պատկերանշաններ: Դա իսկապես clipart է: Բայց ես ուզում էի տեսնել, թե ինչ է պատահել, եթե ես DCGAN- ին եմ մարզել դրանց վրա և փորձել եմ հասնել այն, ինչ-որ բան արդյունքի հասցնելու համար:

Ես մարզվել եմ գիշերում, և դա (կարծում եմ) մոտ 7 ժամվա ընթացքում 2000 կրկնություն է կատարել: Ամենալավն այն է, որ դուք կարող եք դիտել արդյունքը, քանի որ այն մարզվում է, ստուգել, ​​որ ամեն ինչ հարթ է ընթանում: Ձախ կողմում դուք կարող եք տեսնել որոշ արդյունքներ մարզվելիս: Ուշադրություն դարձրեք, որ այն արդեն ճանաչում է որոշ տեսողական նախշեր, ինչպես շրջանակի կենտրոնում գտնվող շրջանաձև ձևերը կամ լոգոտիպի եզրերի շուրջ տպագրության բիտեր:

Լոգո:

Լավ, այնպես որ դա 100% զարմանալի չէ, բայց դա ինձ պայթեց: Փորձում է տեքստը դնել շրջանակների կենտրոնում և ձևի ողջամիտ պատկերացում ունի: Գոյություն ունեն աղեղներ և սվոշներ, կլորաձևեր և եռանկյունիներ: Ես զարմացած էի այս ամենից:

Ես նորից սկսեցի մտածել Շեքսպիրի մասին և այն մասին, թե ինչպես են 1523 թվականից իմ RNN կատակները ճարպոտ վանականի պես հնչել, փորձելով լինել կատակերգություն: Ես հասկացա, որ Շեքսպիրի տվյալների շտեմարանը, կարծես, ողջամտորեն համակրում է ստացված ելքի սխալներին. Նույնիսկ այնպիսի իրեր, որոնք չեն մտնում, քանի որ Շեքսպիրը դուրս է գալիս, երբ հնչում է Ye Olde Worlde- ն, եթե այն բավականաչափ վատ եք պատրաստում (ինչը ես արեցի): Ուստի ես սկսեցի մտածել նմանատիպ տվյալների տվյալների տվյալների մասին, որոնք կարող էի օգտագործել DCGAN– ով…

ՄԵՏԱԼ

Չգիտեմ `տեղյակ եք մահվան մետաղի պատկերանշաններից, բայց նրանք հպարտանում են իրենց անօրինականություններին: Ահա մի քանի գեղեցիկ բաներ: Դրանցից 500-ը քերծել եմ Pinterest բարելի հատակից: Արհեստական ​​ցանց ունենալու համար մի հետաքրքիր բան կա, որը մահվան մետաղի պատկերանշաններ է առաջացնում: Դա, երևի թե, շրջապատող երաժշտության ավելի էզզոտիկ տիպերից մեկն է, որն իմ կարծիքով այն առանձնահատուկ մարդկային է դարձնում. Դուք պետք է գնահատեք դա ոչ միայն լսողական տեսանկյունից, այլև մշակութային: Մեքենաներն ակնհայտորեն չեն կարող դա անել, բայց, այնուամենայնիվ, թվում էր, թե նմանակման փորձելու ավելի հարմար տեսակներից մեկը: Գուցե դա բարդությունների մակարդակի պատճառով է, որ մենք ընկալում ենք նյարդային ցանցերը որպես այդպիսին. Մենք չենք կարող հեշտությամբ ձևակերպել այդ լոգոնները ընթացիկորեն, այնպես որ միգուցե նյարդային ցանցի նման ավելի «օրգանական» մեթոդը ավելի հարմար է:

Դասընթացների միջով

Դասընթացին ընդառաջ և մեր ընկեր DCGAN- ն արդեն սկսում է ծանոթանալ լոգոյի ձևերին: Ես հասկացա, որ եթե ես պարզապես խստացնեի այն հազարավոր այլ կրկնությունների միջոցով, ապա տպավորիչ բան կստացվի դրանից:

Ես սխալ էի.

Մոտ 2000 կրկնությունից հետո ամեն ինչ շատ կրկնվեց: Իմ տվյալների շտեմարանը համեմատաբար փոքր է, և ես կռահում եմ, որ ցանցը սովորելու օրինակներ է, որոնք հաճախ կրկնվում են և պարզապես դուրս են բերում դրանք: Ես գտա, որ մոտ 1400 անգամ կրկնելով անցակետ, որն ինձ ամենալավ արդյունքն էր տալիս: Այստեղ կարող եք տեսնել աջից շատ լոգոտիպի պատկերանշաններ: DCGAN- ը ստեղծվել է 64px քառակուսի պատկերները մարզելու համար: Կարող եք փոփոխություններ կատարել կոդում և ստանալ դա մինչև 128 կամ 256, բայց հանդիպեք խնդիրների վերապատրաստման հետ: Դա լուծվեց `ցանցի ճարտարապետությանը սպիտակ աղմուկի շերտով ավելացնելով: Այստեղ դրա մասին մի լավ թեմա կա:

Կարծում եմ, որ արդյունքները իսկապես խոսում են իրենց համար: Ձախ կողմում դուք ունեք երկու ավելի լավ պատկերանշաններ, որոնք ես կարողացա առաջացնել, աջ կողմում գտնվող երկու ֆանտաստիկ մահ-մետաղական պատկերանշաններ: Ոչ ոք շուտով չի հեռանում գործերից, հատկապես Քրիստոֆ Սպապդելը չէ:

Իմ հաջորդ քայլը աուդիոգեներալների մեջ զննելն է և տեսնել, թե արդյոք կարող եմ ինչ-որ բան ստեղծել մեռելային երաժշտություն: Այդ ժամանակ ես կունենամ մետաղյա գիշեր: Եվ դուք բոլորդ հրավիրված եք: