चित्र न्यूरल नेटवर्क. न्यूरल नेटवर्क वापरून प्रतिमांची शैली करणे: गूढवाद नाही, फक्त शपथ घेणे

मुख्यपृष्ठ / माजी

सर्वात सामान्य छायाचित्रांमध्ये, असंख्य आणि पूर्णपणे भिन्न नसलेल्या घटक दिसतात. बहुतेकदा काही कारणास्तव कुत्रे. अशा प्रतिमा जून 2015 मध्ये इंटरनेट भरू लागल्या, जेव्हा Google कडून DeepDream लाँच केले गेले - पहिल्यापैकी एक सेवा उघडान्यूरल नेटवर्कवर आधारित आणि प्रतिमा प्रक्रियेसाठी डिझाइन केलेले.

हे अंदाजे असे घडते: अल्गोरिदम छायाचित्रांचे विश्लेषण करते, त्यातील तुकडे शोधतात जे काही परिचित वस्तूंची आठवण करून देतात - आणि या डेटानुसार प्रतिमा विकृत करते.

प्रथम, प्रकल्प मुक्त स्त्रोत म्हणून मांडला गेला आणि नंतर त्याच तत्त्वांवर तयार केलेल्या ऑनलाइन सेवा इंटरनेटवर दिसू लागल्या. सर्वात सोयीस्कर आणि लोकप्रियांपैकी एक म्हणजे डीप ड्रीम जनरेटर: येथे एका लहान फोटोवर प्रक्रिया करण्यासाठी सुमारे 15 सेकंद लागतात (पूर्वी, वापरकर्त्यांना एका तासापेक्षा जास्त प्रतीक्षा करावी लागत होती).

न्यूरल नेटवर्क अशा प्रतिमा तयार करण्यास कसे शिकतात? आणि, तसे, त्यांना असे का म्हटले जाते?

त्यांच्या रचनेतील न्यूरल नेटवर्क्स सजीवांच्या वास्तविक न्यूरल नेटवर्कचे अनुकरण करतात, परंतु ते गणिती अल्गोरिदमच्या मदतीने हे करतात. मूलभूत रचना तयार केल्यावर, तुम्ही मशीन लर्निंग पद्धती वापरून प्रशिक्षित करू शकता. जर आपण नमुना ओळखण्याबद्दल बोलत आहोत, तर हजारो प्रतिमा न्यूरल नेटवर्कमधून पास करणे आवश्यक आहे. जर न्यूरल नेटवर्कचे कार्य वेगळे असेल तर प्रशिक्षण व्यायाम वेगळे असतील.

बुद्धिबळ खेळण्यासाठी अल्गोरिदम, उदाहरणार्थ, विश्लेषण करा बुद्धिबळ खेळ. त्याच मार्गावर, Go च्या चिनी गेममध्ये Google च्या DeepMind च्या AlphaGo अल्गोरिदमचा समावेश आहे - ज्याचे स्वागत केले गेले कारण गो चेस पेक्षा खूपच जटिल आणि गैर-रेखीय आहे.

    तुम्ही सरलीकृत न्यूरल नेटवर्क मॉडेलसह खेळू शकता आणि त्याची तत्त्वे अधिक चांगल्या प्रकारे समजून घेऊ शकता.

    YouTube देखील सुगम हाताने काढलेल्या मालिका आहे रोलर्सन्यूरल नेटवर्क कसे कार्य करतात याबद्दल.

आणखी एक लोकप्रिय सेवा ड्रीमस्कोप आहे, जी केवळ कुत्र्यांबद्दलच स्वप्न पाहू शकत नाही, तर विविध पेंटिंग शैलींचे अनुकरण देखील करू शकते. येथे प्रतिमा प्रक्रिया देखील अतिशय सोपी आणि जलद आहे (सुमारे 30 सेकंद).

वरवर पाहता, सेवेचा अल्गोरिदमिक भाग हा न्यूरल स्टाइल प्रोग्रामचा एक बदल आहे, ज्याची आम्ही आधीच चर्चा केली आहे.

अगदी अलीकडे, एक कार्यक्रम दिसला आहे जो वास्तविकपणे काळ्या आणि पांढर्या प्रतिमा रंगवतो. मागील आवृत्त्यांमध्ये, तत्सम कार्यक्रमांनी खूपच कमी कामगिरी केली आणि किमान 20% लोक वास्तविक चित्र आणि संगणक-रंगीत यांच्यातील फरक सांगू शकत नसतील तर ही एक मोठी उपलब्धी मानली गेली.

शिवाय, येथे रंग भरण्यासाठी फक्त 1 मिनिट लागतो.

त्याच डेव्हलपमेंट कंपनीने चित्रांमध्ये ओळखणारी सेवा देखील सुरू केली वेगवेगळे प्रकारवस्तू.

या सेवा केवळ मजेदार मनोरंजनासारख्या वाटू शकतात, परंतु खरं तर, सर्वकाही अधिक मनोरंजक आहे. नवीन तंत्रज्ञान मानवी कलाकारांच्या अभ्यासात प्रवेश करतात आणि कलेबद्दलची आपली समज बदलतात. कदाचित लवकरच लोकांना सर्जनशीलतेच्या क्षेत्रात मशीनशी स्पर्धा करावी लागेल.

पॅटर्न रिकग्निशन अल्गोरिदम शिकवणे हे एआय डेव्हलपर दीर्घकाळापासून संघर्ष करत आहेत. म्हणून, जुन्या छायाचित्रांना रंग देणारे आणि आकाशात कुत्रे काढणारे कार्यक्रम मोठ्या आणि अधिक मनोरंजक प्रक्रियेचा भाग मानले जाऊ शकतात.

नमस्कार, हॅब्र! नक्कीच तुमच्या लक्षात आले असेल की विविध फोटोंसाठी स्टाइलची थीम आहे कलात्मक शैलीया तुमच्या इंटरनेटवर सक्रियपणे चर्चा केली. हे सर्व लोकप्रिय लेख वाचून, तुम्हाला असे वाटेल की या ऍप्लिकेशन्समध्ये जादू चालली आहे आणि न्यूरल नेटवर्क खरोखरच कल्पनारम्य करत आहे आणि सुरवातीपासून प्रतिमा पुन्हा रेखाटत आहे. हे असेच घडले की आमच्या कार्यसंघाला अशाच प्रकारच्या कार्याचा सामना करावा लागला: अंतर्गत कॉर्पोरेट हॅकाथॉनचा ​​भाग म्हणून, आम्ही व्हिडिओ स्टाइलिंग बनवले, कारण. फोटोंसाठी आधीच एक अॅप होते. या पोस्टमध्ये, आम्ही नेटवर्क प्रतिमा कशा "पुन्हा काढतो" यावर एक नजर टाकू आणि ज्या लेखांमुळे हे शक्य झाले ते पाहू. मी शिफारस करतो की आपण ही सामग्री वाचण्यापूर्वी शेवटच्या पोस्टसह आणि सर्वसाधारणपणे कॉन्व्होल्युशनल न्यूरल नेटवर्कच्या मूलभूत गोष्टींसह परिचित व्हा. तुम्हाला काही सूत्रे, काही कोड (मी थियानो आणि लासाग्ने वर उदाहरणे देईन), तसेच बरीच चित्रे सापडतील. हे पोस्ट अंगभूत आहे कालक्रमानुसारलेखांचे स्वरूप आणि त्यानुसार, स्वतःच्या कल्पना. कधीकधी मी आमच्या अलीकडील अनुभवाने ते पातळ करेन. येथे लक्ष वेधण्यासाठी नरक पासून एक मुलगा आहे.


कन्व्होल्युशनल नेटवर्क्सचे व्हिज्युअलायझिंग आणि समजून घेणे (28 नोव्हें 2013)

सर्व प्रथम, त्या लेखाचा उल्लेख करणे योग्य आहे ज्यामध्ये लेखक हे दर्शवू शकले की न्यूरल नेटवर्क हा ब्लॅक बॉक्स नाही, परंतु एक अर्थपूर्ण गोष्ट आहे (तसे, आज हे केवळ संगणकासाठी कॉन्व्होल्यूशनल नेटवर्कबद्दलच म्हणता येत नाही. दृष्टी). लेखकांनी लपविलेल्या लेयर न्यूरॉन्सच्या सक्रियतेचा अर्थ कसा लावायचा हे शिकण्याचे ठरविले, यासाठी त्यांनी अनेक वर्षांपूर्वी प्रस्तावित केलेले डीकॉनव्होल्यूशनल न्यूरल नेटवर्क (डेकॉनव्हनेट) वापरले (तसे, त्याच सेलर आणि फर्गस यांनी, जे या प्रकाशनाचे लेखक आहेत. तसेच). डीकॉनव्होल्यूशनल नेटवर्क हे प्रत्यक्षात समान नेटवर्क आहे ज्यामध्ये कॉन्व्होल्यूशन आणि पूलिंग उलट क्रमाने लागू केले जातात. deconvnet वरील मूळ कामात प्रतिमा निर्माण करण्यासाठी नेटवर्कचा वापर पर्यवेक्षण न केलेल्या शिक्षण मोडमध्ये केला. यावेळी, लेखकांनी नेटवर्कमधून मूळ प्रतिमेकडे फॉरवर्ड पास केल्यानंतर मिळालेल्या वैशिष्ट्यांमधून रिव्हर्स पाससाठी याचा वापर केला. परिणाम म्हणजे एक प्रतिमा आहे ज्याचा सिग्नल म्हणून अर्थ लावला जाऊ शकतो ज्यामुळे न्यूरॉन्सवर हे सक्रियकरण होते. स्वाभाविकच, प्रश्न उद्भवतो: कॉन्व्होल्युशन आणि नॉनलाइनरिटीमधून रिव्हर्स पास कसा बनवायचा? आणि त्याहूनही अधिक म्हणजे कमाल-पूलिंगद्वारे, हे निश्चितपणे उलटे ऑपरेशन नाही. चला तिन्ही घटक पाहू.

ReLu उलट करा

कॉन्व्होल्युशनल नेटवर्क्समध्ये, सक्रियकरण कार्य सहसा वापरले जाते ReLu(x) = कमाल(0, x), जे लेयरवरील सर्व सक्रियकरणांना नकारात्मक बनवते. त्यानुसार, नॉनलाइनरिटीमधून परत जात असताना, गैर-नकारात्मक परिणाम प्राप्त करणे देखील आवश्यक आहे. यासाठी लेखक त्याच ReLu वापरण्याचा प्रस्ताव देतात. थियानो आर्किटेक्चरच्या दृष्टिकोनातून, ऑपरेशन ग्रेडियंट फंक्शन पुन्हा लागू करणे आवश्यक आहे (अनंत मूल्यवान नोटबुक लसाग्ना रेसिपीमध्ये आहे, तिथून तुम्ही मॉडिफाइड बॅकप्रॉप क्लास काय आहे याचे तपशील गोळा कराल).

वर्ग ZeilerBackprop(ModifiedBackprop): def grad(self, inputs, out_grads): (inp,) = inputs (grd,) = out_grads #return (grd * (grd > 0).astype(inp.dtype),) # स्पष्टपणे दुरुस्त करा रिटर्न (self.nonlinearity(grd),) # दिलेली नॉनलाइनरिटी वापरा

रिव्हर्स कन्व्होल्युशन

येथे हे थोडे अधिक क्लिष्ट आहे, परंतु सर्व काही तार्किक आहे: समान कन्व्होल्यूशन कर्नलची ट्रान्सपोज केलेली आवृत्ती लागू करणे पुरेसे आहे, परंतु फॉरवर्ड पासमध्ये वापरलेल्या मागील लेयरऐवजी रिव्हर्स ReLu मधील आउटपुटसाठी. परंतु मला भीती वाटते की शब्दांमध्ये ते इतके स्पष्ट नाही, चला या प्रक्रियेचे व्हिज्युअलायझेशन पाहूया (आपल्याला कॉन्व्होल्यूशनचे आणखी व्हिज्युअलायझेशन सापडेल).


स्ट्राइड = १

स्ट्राइड = १ उलट आवृत्ती

स्ट्राइड = २

स्ट्राइड = २ उलट आवृत्ती

रिव्हर्स पूलिंग

हे ऑपरेशन (मागील ऑपरेशन्सच्या विपरीत) सामान्यतः उलट करण्यायोग्य नसते. पण तरीही रिव्हर्स पास करताना आम्हाला जास्तीत जास्त पास व्हायला आवडेल. हे करण्यासाठी, लेखक डायरेक्ट पास (कमाल लोकेशन स्विचेस) दरम्यान जास्तीत जास्त कुठे होते याचा नकाशा वापरण्याचे सुचवतात. रिव्हर्स पास दरम्यान, इनपुट सिग्नलचे अनपूलिंगमध्ये अशा प्रकारे रूपांतर होते की मूळ सिग्नलची रचना अंदाजे जतन केली जाते, येथे वर्णन करण्यापेक्षा ते पाहणे खरोखर सोपे आहे.



निकाल

व्हिज्युअलायझेशन अल्गोरिदम अत्यंत सोपे आहे:

  1. सरळ पास बनवा.
  2. आम्हाला स्वारस्य असलेला स्तर निवडा.
  3. एक किंवा अधिक न्यूरॉन्सच्या सक्रियतेचे निराकरण करा आणि उर्वरित रीसेट करा.
  4. एक अनुमान काढा.

खालील प्रतिमेतील प्रत्येक राखाडी चौकोन फिल्टरच्या व्हिज्युअलायझेशनशी संबंधित आहे (जो कन्व्होल्युशनसाठी लागू केला जातो) किंवा एकाच न्यूरॉनच्या वजनाशी, आणि प्रत्येक रंगीत चित्रमूळ प्रतिमेचा तो भाग आहे जो संबंधित न्यूरॉनला सक्रिय करतो. स्पष्टतेसाठी, एका लेयरमधील न्यूरॉन्समध्ये गटबद्ध केले जातात थीमॅटिक गट. सर्वसाधारणपणे, हे अचानक दिसून आले की व्हिज्युअल सिस्टमच्या संरचनेवरील त्यांच्या कामात ह्यूबेल आणि वेसेलने नेमके काय लिहिले आहे हे न्यूरल नेटवर्क शिकते, ज्यासाठी त्यांना पुरस्कार देण्यात आला. नोबेल पारितोषिक 1981 मध्ये. या लेखाबद्दल धन्यवाद, आम्हांला प्रत्येक लेयरवर कंव्होल्युशनल न्यूरल नेटवर्क काय शिकते याचे दृश्य प्रतिनिधित्व मिळाले. हे ज्ञान आहे जे नंतर व्युत्पन्न केलेल्या प्रतिमेच्या सामग्रीमध्ये फेरफार करण्यास अनुमती देईल, परंतु हे अद्याप दूर आहे, पुढील काही वर्षे न्यूरल नेटवर्कच्या "ट्रेपनेशन" च्या पद्धती सुधारण्यासाठी गेली आहेत. या व्यतिरिक्त, लेखाच्या लेखकांनी हे साध्य करण्यासाठी कंव्होल्युशनल न्यूरल नेटवर्कची आर्किटेक्चर कशी तयार करावी याचे विश्लेषण करण्याचा एक मार्ग प्रस्तावित केला आहे. सर्वोत्तम परिणाम(तथापि, त्यांनी इमेजनेट 2013 जिंकले नाही, परंतु शीर्षस्थानी पोहोचले; UPD: असे दिसून आले की ते जिंकले, क्लेरिफाई तेच आहेत).


वैशिष्ट्य व्हिज्युअलायझेशन


येथे deconvnet वापरून सक्रियता प्रस्तुत करण्याचे एक उदाहरण आहे, आज हा निकाल आधीच तसा दिसतो, परंतु नंतर तो एक यशस्वी होता.


deconvnet वापरून Saliency नकाशे

डीप इनसाईड कॉन्व्होल्युशनल नेटवर्क्स: व्हिज्युअलायझिंग इमेज क्लासिफिकेशन मॉडेल्स आणि सॅलिएन्सी मॅप्स (19 एप्रिल 2014)

हा लेख कन्व्होल्युशनल न्यूरल नेटवर्कमध्ये असलेल्या ज्ञान व्हिज्युअलायझेशन पद्धतींचा अभ्यास करण्यासाठी समर्पित आहे. लेखक ग्रेडियंट डिसेंटवर आधारित दोन व्हिज्युअलायझेशन पद्धती प्रस्तावित करतात.

वर्ग मॉडेल व्हिज्युअलायझेशन

तर, कल्पना करा की आमच्याकडे वर्गीकरणाची समस्या ठराविक वर्गांमध्ये सोडवण्यासाठी प्रशिक्षित न्यूरल नेटवर्क आहे. वर्गाशी संबंधित आउटपुट न्यूरॉनचे सक्रियकरण मूल्य म्हणून दर्शवा c. नंतर खालील ऑप्टिमायझेशन समस्या आम्हाला अचूक प्रतिमा देते जी निवडलेला वर्ग कमाल करते:



Theano वापरून हे कार्य सोडवणे सोपे आहे. आम्ही सहसा फ्रेमवर्कला मॉडेल पॅरामीटर्सचे डेरिव्हेटिव्ह घेण्यास सांगतो, परंतु यावेळी आम्ही असे गृहीत धरतो की पॅरामीटर्स निश्चित आहेत आणि व्युत्पन्न इनपुट इमेजमधून घेतले आहे. खालील फंक्शन आउटपुट लेयरचे कमाल मूल्य निवडते आणि इनपुट इमेजच्या संदर्भात डेरिव्हेटिव्हची गणना करणारे फंक्शन देते.


def compile_saliency_function(net): """ इनपुट प्रतिमांच्या दिलेल्या मिनीबॅचसाठी सॅलिएन्सी नकाशे आणि अंदाजित वर्गांची गणना करण्यासाठी फंक्शन संकलित करते. "" inp = net["input"].input_var outp = lasagne.layers.get_output(net ["fc8"], deterministic=True) max_outp = T.max(outp, axis=1) saliency = theano.grad(max_outp.sum(), wrt=inp) max_class = T.argmax(outp, axis=1) परत theano.function(, )

तुम्ही इंटरनेटवर कुत्र्यांच्या विचित्र प्रतिमा पाहिल्या असतील - DeepDream. मूळ लेखात, निवडलेल्या वर्गाला जास्तीत जास्त वाढवणाऱ्या प्रतिमा निर्माण करण्यासाठी लेखक खालील प्रक्रिया वापरतात:

  1. प्रारंभिक प्रतिमा शून्यासह प्रारंभ करा.
  2. या प्रतिमेवरून व्युत्पन्नाच्या मूल्याची गणना करा.
  3. व्युत्पन्न पासून परिणामी प्रतिमा जोडून प्रतिमा बदला.
  4. चरण 2 वर परत या किंवा लूपमधून बाहेर पडा.

परिणामी प्रतिमा आहेत:




आणि जर तुम्ही पहिली प्रतिमा सुरू केली खरा फोटोआणि तीच प्रक्रिया चालवा? परंतु प्रत्येक पुनरावृत्तीवर आपण एक यादृच्छिक वर्ग निवडू, उर्वरित शून्यावर सेट करू आणि व्युत्पन्नाचे मूल्य मोजू, मग आपल्याला इतके खोल स्वप्न मिळेल.


खबरदारी 60 mb


कुत्र्याचे इतके चेहरे आणि डोळे का आहेत? हे सोपे आहे: प्रतिमेत 1000 वर्गांपैकी जवळजवळ 200 कुत्रे आहेत, त्यांना डोळे आहेत. आणि बरेच वर्ग जिथे फक्त लोक आहेत.

क्लास सॅलिएन्सी एक्सट्रॅक्शन

जर ही प्रक्रिया वास्तविक फोटोसह सुरू केली गेली असेल, पहिल्या पुनरावृत्तीनंतर थांबली असेल आणि व्युत्पन्नाचे मूल्य रेखाटले असेल, तर आम्हाला अशी प्रतिमा मिळेल, जी मूळमध्ये जोडून, ​​आम्ही निवडलेल्या वर्गाचे सक्रियकरण मूल्य वाढवू.


डेरिव्हेटिव्ह वापरून सॅलिएन्सी नकाशे


पुन्हा, परिणाम "तसा-तसा" आहे. हे लक्षात घेणे महत्त्वाचे आहे की सक्रियतेचे व्हिज्युअलायझेशन करण्याचा हा एक नवीन मार्ग आहे (आम्हाला सक्रियकरण मूल्ये शेवटच्या स्तरावर नव्हे तर सर्वसाधारणपणे नेटवर्कच्या कोणत्याही स्तरावर निश्चित करण्यापासून रोखण्यासाठी आणि संदर्भात व्युत्पन्न घेण्यापासून रोखण्यासाठी काहीही नाही. इनपुट प्रतिमा). पुढील लेख मागील दोन्ही पद्धती एकत्र करेल आणि आम्हाला शैली हस्तांतरण कसे सेट करावे याबद्दल एक साधन देईल, ज्याचे वर्णन नंतर केले जाईल.

साधेपणासाठी प्रयत्नशील: द ऑल कॉन्व्होल्युशनल नेट (१३ एप्रिल २०१५)

हा लेख सामान्यत: व्हिज्युअलायझेशनबद्दल नाही, परंतु या वस्तुस्थितीबद्दल आहे की मोठ्या स्ट्राईडसह पूलिंग बदलल्याने गुणवत्ता कमी होत नाही. परंतु त्यांच्या संशोधनाचे उप-उत्पादन म्हणून, लेखकांनी वैशिष्ट्यांचे दृश्यमान करण्याचा एक नवीन मार्ग प्रस्तावित केला, जो त्यांनी अधिक लागू केला. अचूक विश्लेषणमॉडेल काय शिकते. त्यांची कल्पना खालीलप्रमाणे आहे: जर आपण फक्त व्युत्पन्न घेतले तर डीकॉनव्होल्यूशन दरम्यान, इनपुट प्रतिमेमध्ये असलेली वैशिष्ट्ये परत जात नाहीत. शून्यापेक्षा कमी(इनपुट प्रतिमेवर ReLu लागू करणे). आणि हे या वस्तुस्थितीला कारणीभूत ठरते की प्रसारित बॅक इमेजवर नकारात्मक मूल्ये दिसतात. दुसरीकडे, जर तुम्ही deconvnet वापरत असाल, तर ReLu च्या डेरिव्हेटिव्हमधून दुसरा ReLu घेतला जाईल - हे तुम्हाला नकारात्मक मूल्ये वगळण्याची परवानगी देत ​​​​नाही, परंतु तुम्ही पाहिल्याप्रमाणे, परिणाम "सो-सो" आहे. पण या दोन पद्धती एकत्र केल्या तर?




क्लास GuidedBackprop(ModifiedBackprop): def grad(self, inputs, out_grads): (inp,) = इनपुट (grd,) = out_grads dtype = inp.dtype रिटर्न (grd * (inp > 0).astype(dtype) * (grd > 0).अ‍ॅटाइप(dtype),)

मग तुम्हाला एक पूर्णपणे स्वच्छ आणि व्याख्या करण्यायोग्य प्रतिमा मिळेल.


मार्गदर्शित बॅकप्रोपगेशन वापरून सॅलिएन्सी नकाशे

खोलवर जा

आता विचार करू या, यातून आपल्याला काय मिळते? मी तुम्हाला आठवण करून देतो की प्रत्येक कन्व्होल्युशनल लेयर हे एक फंक्शन आहे जे इनपुट म्हणून त्रि-आयामी टेन्सर प्राप्त करते आणि आउटपुट म्हणून त्रि-आयामी टेन्सर देखील तयार करते, कदाचित भिन्न आकारमानाचे. d x w x h; d epth म्हणजे लेयरमधील न्यूरॉन्सची संख्या, त्यातील प्रत्येक आकारासह वैशिष्ट्य नकाशा तयार करतो w igth x hआठ


VGG-19 नेटवर्कवर खालील प्रयोग करून पाहू:



conv1_2

होय, तुम्हाला जवळजवळ काहीही दिसत नाही, कारण. ग्रहणक्षम क्षेत्र खूपच लहान आहे, हे अनुक्रमे दुसरे आवर्तन 3x3 आहे, एकूण क्षेत्रफळ 5x5 आहे. पण झूम करून, आपण पाहतो की वैशिष्ट्य फक्त एक ग्रेडियंट डिटेक्टर आहे.




conv3_3


conv4_3


conv5_3


पूल 5


आणि आता कल्पना करा की प्लेटवरील कमाल ऐवजी, आम्ही इनपुट इमेजवर प्लेटच्या सर्व घटकांच्या बेरजेच्या मूल्याचे व्युत्पन्न घेऊ. मग साहजिकच न्यूरॉन्सच्या समूहाचे ग्रहणक्षम क्षेत्र संपूर्ण इनपुट इमेज कव्हर करेल. सुरुवातीच्या लेयर्ससाठी, आम्ही चमकदार नकाशे पाहू, ज्यावरून आम्ही असे अनुमान काढतो की हे रंग शोधक आहेत, नंतर ग्रेडियंट्स, नंतर किनारी, आणि असेच अधिक जटिल नमुन्यांकडे. थर जितका खोल असेल तितकी मंद प्रतिमा प्राप्त होते. हे या वस्तुस्थितीद्वारे स्पष्ट केले आहे की खोल स्तरांमध्ये अधिक जटिल नमुना असतो जो ते शोधतात आणि एक जटिल नमुना साध्यापेक्षा कमी वेळा दिसून येतो आणि म्हणून सक्रियकरण नकाशा मंद होतो. पहिला मार्ग जटिल नमुन्यांसह स्तर समजून घेण्यासाठी योग्य आहे आणि दुसरा सोप्यासाठी योग्य आहे.


conv1_1


conv2_2


conv4_3


आपण अनेक प्रतिमांसाठी सक्रियकरणांचा अधिक संपूर्ण डेटाबेस डाउनलोड करू शकता आणि .

कलात्मक शैलीचा न्यूरल अल्गोरिदम (2 सप्टें 2015)

तर, न्यूरल नेटवर्कच्या पहिल्या यशस्वी ट्रॅपेनेशनला काही वर्षे उलटून गेली आहेत. आपल्या (मानवतेच्या अर्थाने) आपल्या हातात आहे शक्तिशाली साधन, जे तुम्हाला न्यूरल नेटवर्क काय शिकते ते समजून घेण्यास अनुमती देते, तसेच आम्हाला ते शिकायला खरोखर आवडणार नाही ते काढून टाकते. या लेखाचे लेखक एक पद्धत विकसित करत आहेत जी तुम्हाला एक प्रतिमा निर्माण करण्यास अनुमती देते समान नकाशाकाही लक्ष्य प्रतिमेवर सक्रियता आणि कदाचित एकापेक्षा जास्त - हा स्टाइलचा आधार आहे. आम्ही इनपुटला पांढरा आवाज फीड करतो, आणि खोल स्वप्नाप्रमाणेच पुनरावृत्ती प्रक्रियेत, आम्ही ही प्रतिमा अशा एकावर आणतो ज्यामध्ये वैशिष्ट्य नकाशे लक्ष्य प्रतिमेसारखे असतात.

सामग्रीचे नुकसान

आधीच नमूद केल्याप्रमाणे, न्यूरल नेटवर्कचा प्रत्येक स्तर काही परिमाणांचा त्रि-आयामी टेन्सर तयार करतो.




आउटपुट दर्शवू iम्हणून इनपुट पासून th स्तर. मग जर आपण इनपुट इमेजमधील अवशेषांची भारित बेरीज कमी केली आणि काही प्रतिमा ज्याची आम्हाला इच्छा आहे c, मग तुम्हाला नक्की काय हवे आहे ते मिळेल. कदाचित.



या लेखाचा प्रयोग करण्यासाठी, तुम्ही हा जादुई लॅपटॉप वापरू शकता, जिथे गणना केली जाते (GPU आणि CPU दोन्हीवर). GPU चा उपयोग न्यूरल नेटवर्कची वैशिष्ट्ये आणि किमतीच्या कार्याचे मूल्य मोजण्यासाठी केला जातो. Theano एक फंक्शन तयार करते जे ऑब्जेक्टिव्ह फंक्शनच्या ग्रेडियंटची गणना करू शकते eval_gradइनपुट प्रतिमेद्वारे x. हे नंतर lbfgs मध्ये दिले जाते आणि पुनरावृत्ती प्रक्रिया सुरू होते.


# generated_image.set_value(floatX(np.random.uniform(-128, 128, (1, 3, IMAGE_W, IMAGE_W)))) x0 = generated_image.get_value().astype("float64"s) x सह प्रारंभ करा = xs.append(x0) # ऑप्टिमाइझ करा, i मधील श्रेणी(8) साठी वेळोवेळी निकाल जतन करा: print(i) scipy.optimize.fmin_l_bfgs_b(eval_loss, x0.flatten(), fprime=eval_grad, maxfun=40) x0 = generated_image.get_value().astype("float64") xs.append(x0)

जर आपण अशा फंक्शनचे ऑप्टिमायझेशन चालवले, तर आपल्याला त्वरीत लक्ष्यासारखी प्रतिमा मिळेल. आता आम्ही पांढर्‍या आवाजातून प्रतिमा पुन्हा तयार करू शकतो ज्या काही सामग्री प्रतिमेसारख्या दिसतात.


सामग्रीचे नुकसान: conv4_2



ऑप्टिमायझेशन प्रक्रिया




परिणामी प्रतिमेची दोन वैशिष्ट्ये लक्षात घेणे सोपे आहे:

  • हरवलेले रंग - या वस्तुस्थितीचा परिणाम आहे की मध्ये विशिष्ट उदाहरणफक्त conv4_2 लेयर वापरला होता (किंवा, दुसऱ्या शब्दांत, वजन w हे त्याच्यासाठी शून्य होते आणि इतर स्तरांसाठी शून्य होते); जसे तुम्हाला आठवते, हे सुरुवातीचे स्तर आहेत ज्यात रंग आणि ग्रेडियंट संक्रमणांबद्दल माहिती असते आणि नंतरच्या स्तरांमध्ये मोठ्या तपशीलांची माहिती असते, जे आपण पाहतो - रंग हरवले आहेत, परंतु सामग्री नाही;
  • काही घरे "चला जाऊया", म्हणजे सरळ रेषा किंचित वक्र आहेत - याचे कारण असे आहे की स्तर जितका खोल असेल कमी माहितीत्यात समाविष्ट असलेल्या वैशिष्ट्याच्या अवकाशीय स्थितीबद्दल (कन्व्होल्यूशन आणि पूलिंग लागू केल्याचे परिणाम).

लवकर स्तर जोडणे लगेच रंगांसह परिस्थिती सुधारते.


सामग्रीचे नुकसान: conv1_1, conv2_1, conv4_2


आशा आहे की आत्तापर्यंत तुम्हाला असे वाटले असेल की व्हाईट नॉइज इमेजवर काय पुन्हा काढले जाते यावर तुमचे नियंत्रण आहे.

शैली तोटा

आणि आता आम्हाला सर्वात मनोरंजक गोष्ट मिळाली: आम्ही शैली कशी सांगू शकतो? शैली म्हणजे काय? साहजिकच, शैली ही आम्ही सामग्री गमावण्यामध्ये ऑप्टिमाइझ केलेली नाही, कारण त्यात वैशिष्ट्यांच्या अवकाशीय स्थानांबद्दल बरीच माहिती आहे. म्हणून प्रथम गोष्ट म्हणजे ही माहिती प्रत्येक स्तरावर प्राप्त झालेल्या दृश्यांमधून काढून टाकणे.


लेखक खालील पद्धत सुचवतो. चला काही लेयरच्या आउटपुटवर टेन्सर घेऊ, ते अवकाशीय निर्देशांकांमध्ये विस्तृत करू आणि प्लेट्समधील कोव्हेरिअन्स मॅट्रिक्सची गणना करू. हे रूपांतर असे दर्शवू जी. आम्ही खरोखर काय केले आहे? आम्ही असे म्हणू शकतो की आम्ही प्लेटमधील वैशिष्ट्ये जोड्यांमध्ये किती वेळा आढळतात याची गणना केली किंवा दुसर्‍या शब्दात सांगायचे तर, आम्ही बहुविध सामान्य वितरणासह प्लेट्समधील वैशिष्ट्यांचे वितरण अंदाजे केले.




नंतर स्टाइल लॉस खालीलप्रमाणे प्रविष्ट केले आहे, कुठे sशैलीसह काही प्रतिमा आहे:



आम्ही व्हिन्सेंटसाठी प्रयत्न करू का? तत्वतः, आम्हाला काहीतरी अपेक्षित आहे - व्हॅन गॉगच्या शैलीतील आवाज, वैशिष्ट्यांच्या स्थानिक व्यवस्थेबद्दलची माहिती पूर्णपणे गमावली आहे.


व्हिन्सेंट




स्टाईल इमेज ऐवजी फोटो टाकला तर? तुम्हाला आधीच परिचित वैशिष्ट्ये, परिचित रंग मिळतात, परंतु स्थानिक स्थिती पूर्णपणे गमावली आहे.


शैली तोटा सह फोटो


आपण निश्चितपणे आश्चर्यचकित आहात की आम्ही कोवेरियंस मॅट्रिक्स का मोजतो आणि दुसरे काहीतरी का नाही? शेवटी, वैशिष्ट्ये एकत्रित करण्याचे अनेक मार्ग आहेत जेणेकरुन स्थानिक निर्देशांक गमावले जातील. हा खरोखर एक खुला प्रश्न आहे, आणि जर आपण काहीतरी अगदी सोपे घेतले तर परिणाम नाटकीयपणे बदलणार नाही. चला हे तपासूया, आम्ही कोव्हेरिअन्स मॅट्रिक्सची गणना करणार नाही, तर प्रत्येक प्लेटचे सरासरी मूल्य मोजू.




साधी शैली तोटा

एकत्रित नुकसान

स्वाभाविकच, या दोन खर्च कार्ये मिसळण्याची इच्छा आहे. मग आम्ही पांढर्‍या आवाजातून अशी प्रतिमा निर्माण करू की ती सामग्री-प्रतिमेतील वैशिष्ट्ये टिकवून ठेवेल (ज्याला अवकाशीय निर्देशांकांना बंधनकारक आहे), आणि "शैली" वैशिष्ट्ये देखील असतील जी अवकाशीय निर्देशांकांशी जोडलेली नाहीत, म्हणजे. आम्‍ही आशेने सामग्री प्रतिमा तपशील जागी ठेवू, परंतु योग्य शैलीने पुन्हा रेखाटले जाईल.



खरं तर, एक नियमितकर्ता देखील आहे, परंतु आम्ही ते साधेपणासाठी वगळू. उत्तर देणे बाकी आहे पुढचा प्रश्न: ऑप्टिमायझेशनसाठी कोणते स्तर (वजन) वापरावेत? आणि मला भीती वाटते की माझ्याकडे या प्रश्नाचे उत्तर नाही आणि लेखाच्या लेखकांकडेही नाही. त्यांना खालील वापरण्याची सूचना आहे, परंतु याचा अर्थ असा नाही की दुसरे संयोजन देखील वाईट कार्य करेल मोठी जागाशोध मॉडेलच्या समजुतीतून पाळणारा एकमेव नियम म्हणजे शेजारील स्तर घेण्यास काही अर्थ नाही, कारण त्यांची चिन्हे एकमेकांपासून फारशी वेगळी नसतील, म्हणून प्रत्येक conv*_1 गटातील एक स्तर शैलीमध्ये जोडला जातो.


# नुकसान कार्य तोटा परिभाषित करा = # सामग्रीचे नुकसान नुकसान.append(0.001 * content_loss(photo_features, gen_features, "conv4_2")) # style loss losses.append(0.2e6 * style_loss(art_features, gen_features, "conv1_1")) अॅपचे नुकसान. (0.2e6 * style_loss(art_features, gen_features, "conv2_1")) losses.append(0.2e6 * style_loss(art_features, gen_features, "conv3_1")) losses.append(0.2e6 * style_loss(art_features), "gen_features, "gen_conv4" ) losses.append(0.2e6 * style_loss(art_features, gen_features, "conv5_1")) # एकूण फरक दंड नुकसान

अंतिम मॉडेल खालील स्वरूपात सादर केले जाऊ शकते.




आणि येथे व्हॅन गॉगसह घरांचा परिणाम आहे.



प्रक्रियेवर नियंत्रण ठेवण्याचा प्रयत्न करा

चला मागील भाग लक्षात ठेवूया, वर्तमान लेखाच्या दोन वर्षांपूर्वी, इतर शास्त्रज्ञ न्यूरल नेटवर्क खरोखर काय शिकतात हे शोधत आहेत. या सर्व लेखांसह सशस्त्र, तुम्ही वैशिष्ट्य व्हिज्युअलायझेशन तयार करू शकता. विविध शैली, भिन्न प्रतिमा, भिन्न रिझोल्यूशन आणि आकार, आणि कोणते स्तर कोणते वजन घ्यावे हे समजून घेण्याचा प्रयत्न करा. पण थरांचे री-वेटिंग केल्याने काय घडत आहे यावर पूर्ण नियंत्रण मिळत नाही. येथे समस्या अधिक वैचारिक आहे: आम्ही चुकीचे कार्य ऑप्टिमाइझ करत आहोत! असे कसे, तुम्ही विचारता? उत्तर सोपे आहे: हे कार्य अवशिष्ट कमी करते ... ठीक आहे, तुम्हाला कल्पना येईल. परंतु आपल्याला खरोखर काय हवे आहे की आपल्याला प्रतिमा आवडते. सामग्री आणि शैली कमी करण्याच्या कार्यांचे उत्तल संयोजन हे आपले मन काय सुंदर मानते याचे मोजमाप नाही. असे दिसून आले आहे की जर स्टाइलिंग जास्त काळ चालू ठेवली तर, खर्चाचे कार्य नैसर्गिकरित्या कमी आणि कमी होते, परंतु परिणामाचे सौंदर्यात्मक सौंदर्य झपाट्याने कमी होते.




ठीक आहे, आणखी एक समस्या आहे. समजा आम्हाला एक स्तर सापडला जो आम्हाला आवश्यक असलेली वैशिष्ट्ये काढतो. समजा काही पोत त्रिकोणी आहेत. परंतु या लेयरमध्ये अजूनही इतर अनेक वैशिष्ट्ये आहेत, जसे की मंडळे, जी आम्हाला परिणामी प्रतिमेमध्ये पाहू इच्छित नाहीत. सर्वसाधारणपणे बोलायचे झाल्यास, जर आम्ही एक दशलक्ष चिनी लोकांना कामावर ठेवू शकलो, तर आम्ही शैलीच्या प्रतिमेची सर्व वैशिष्ट्ये पाहू शकू, आणि संपूर्ण शोधाद्वारे फक्त आम्हाला आवश्यक असलेल्यांना चिन्हांकित करू शकतो आणि फक्त खर्च कार्यामध्ये त्यांचा समावेश करू शकतो. परंतु स्पष्ट कारणांमुळे, ते इतके सोपे नाही. पण जर आपण स्टाईलशीटमधून निकालात दिसणार नसलेली सर्व मंडळे काढून टाकली तर? मग मंडळांना प्रतिसाद देणाऱ्या संबंधित न्यूरॉन्सचे सक्रियकरण कार्य करणार नाही. आणि, अर्थातच, नंतर हे परिणामी चित्रात दिसणार नाही. फुलांचेही तसेच आहे. अनेक रंगांसह एक उज्ज्वल प्रतिमा सादर करा. रंगांचे वितरण संपूर्ण जागेत खूप घट्ट केले जाईल, परिणामी प्रतिमेचे वितरण समान असेल, परंतु ऑप्टिमायझेशन प्रक्रियेदरम्यान, मूळ शिखरे कदाचित गमावली जातील. हे बिट खोली मध्ये एक साधी घट की बाहेर वळले रंग पॅलेटया समस्येचे निराकरण करते. बहुतेक रंगांची वितरण घनता शून्याच्या जवळ असेल आणि अनेक भागात मोठी शिखरे असतील. अशा प्रकारे, मूळ फोटोशॉपमध्ये हाताळून, आम्ही इमेजमधून काढलेल्या वैशिष्ट्यांमध्ये फेरफार करत आहोत. गणिताच्या भाषेत तयार करण्याचा प्रयत्न करण्यापेक्षा एखाद्या व्यक्तीला त्याच्या इच्छा दृष्यदृष्ट्या व्यक्त करणे सोपे आहे. बाय. परिणामी, डिझाइनर आणि व्यवस्थापक, फोटोशॉपसह सशस्त्र आणि चिन्हे दृश्यमान करण्यासाठी स्क्रिप्ट्स, गणितज्ञ आणि प्रोग्रामरच्या तुलनेत तीनपट वेगाने परिणाम साध्य करतात.


वैशिष्ट्यांचा रंग आणि आकार हाताळण्याचे उदाहरण


आणि आपण ताबडतोब एक शैली म्हणून एक साधी प्रतिमा घेऊ शकता



परिणाम








आणि येथे एक विडोसिक आहे, परंतु केवळ योग्य पोत सह

टेक्सचर नेटवर्क: टेक्सचर आणि स्टाइलाइज्ड इमेजेसचे फीड-फॉरवर्ड सिंथेसिस (10 मार्च 2016)

असे दिसते की हे थांबवले जाऊ शकते, जर एक बारकावे नाही. वरील स्टाइलिंग अल्गोरिदम बराच काळ कार्य करते. सीपीयूवर lbfgs चालवल्या जाणार्‍या एखादे अंमलबजावणी घेतल्यास, प्रक्रियेस सुमारे पाच मिनिटे लागतात. आपण ते पुन्हा लिहिल्यास ऑप्टिमायझेशन GPU वर जाईल, तर प्रक्रियेस 10-15 सेकंद लागतील. हे चांगले नाही. कदाचित या आणि पुढच्या लेखाच्या लेखकांनीही असाच विचार केला असेल. दोन्ही प्रकाशने 17 दिवसांच्या अंतराने, मागील लेखाच्या जवळजवळ एक वर्षानंतर स्वतंत्रपणे बाहेर आली. सध्याच्या लेखाचे लेखक, मागील लेखाच्या लेखकांप्रमाणे, टेक्सचर निर्मितीमध्ये गुंतले होते (जर तुम्ही फक्त स्टाईल लॉस रीसेट केले तर, तुम्हाला अंदाजे हे मिळेल). त्यांनी पांढर्‍या आवाजातून मिळालेली प्रतिमा नव्हे तर शैलीकृत प्रतिमा निर्माण करणारे काही न्यूरल नेटवर्क ऑप्टिमाइझ करण्याचे सुचवले.




आता, जर स्टाइलिंग प्रक्रियेमध्ये कोणतेही ऑप्टिमायझेशन समाविष्ट नसेल, तर फक्त फॉरवर्ड पास करणे आवश्यक आहे. आणि जनरेटर नेटवर्कला प्रशिक्षित करण्यासाठी केवळ एकदाच ऑप्टिमायझेशन आवश्यक आहे. हा लेख एक श्रेणीबद्ध जनरेटर वापरतो जेथे प्रत्येक खालील आहे zमागील एकापेक्षा मोठा आणि पोत निर्मितीच्या बाबतीत आवाज आणि स्टायलायझर प्रशिक्षणासाठी काही प्रतिमा डेटाबेसमधून नमुना घेतला जातो. इमेजनेटच्या प्रशिक्षण भागाव्यतिरिक्त काहीतरी वापरणे महत्वाचे आहे, कारण लॉस-नेटवर्कमधील वैशिष्ट्यांची गणना फक्त प्रशिक्षण भागावर प्रशिक्षित नेटवर्कद्वारे केली जाते.



रिअल-टाइम स्टाईल ट्रान्सफर आणि सुपर-रिझोल्यूशन (27 मार्च 2016) साठी आकलनीय नुकसान

नावाप्रमाणेच, नेटवर्क निर्माण करण्याच्या कल्पनेने केवळ 17 दिवस उशीर झालेले लेखक प्रतिमांचे रिझोल्यूशन वाढवण्यात व्यस्त होते. नवीनतम इमेजनेटवरील अवशिष्ट शिक्षणाच्या यशाने त्यांना प्रेरणा मिळाल्याचे दिसते.




त्यानुसार अवशिष्ट ब्लॉक आणि कन्व्ह ब्लॉक.



अशाप्रकारे, स्टाइलिंग नियंत्रणाव्यतिरिक्त, आमच्या हातात आता एक वेगवान जनरेटर आहे (या दोन लेखांबद्दल धन्यवाद, एका प्रतिमेची निर्मिती वेळ दहापट ms मध्ये मोजली जाते).

संपत आहे

पहिल्या व्हिडिओ स्टाइलिंग ऍप्लिकेशनसाठी दुसरा स्टाइलिंग ऍप्लिकेशन तयार करण्यासाठी आम्ही पुनरावलोकन केलेल्या लेखांमधील माहिती आणि लेखकांच्या कोडचा प्रारंभ बिंदू म्हणून वापर केला:



असे काहीतरी व्युत्पन्न करा.


ऑगस्ट 2015 पासून, ट्युबिंगेन विद्यापीठातील जर्मन संशोधकांनी शैली हस्तांतरणाच्या शक्यतेवर त्यांचे मत मांडले. प्रसिद्ध कलाकारइतर फोटोंवर, सेवा दिसू लागल्या ज्यांनी या संधीची कमाई केली. हे पाश्चात्य बाजारात आणि रशियन बाजारात लॉन्च झाले - त्याची संपूर्ण प्रत.

बुकमार्क करण्यासाठी

ऑस्टाग्राम डिसेंबरमध्ये लॉन्च झाला हे असूनही, एप्रिलच्या मध्यात सोशल नेटवर्क्समध्ये त्वरीत लोकप्रियता मिळू लागली. त्याच वेळी, 19 एप्रिलपर्यंत, व्हीकॉन्टाक्टे प्रकल्पात एक हजाराहून कमी लोक होते.

सेवा वापरण्यासाठी, तुम्हाला दोन प्रतिमा तयार करणे आवश्यक आहे: एक फोटो ज्यावर प्रक्रिया करणे आवश्यक आहे आणि मूळ चित्रावर आच्छादित करण्यासाठी शैलीचे उदाहरण असलेले चित्र.

सेवेची विनामूल्य आवृत्ती आहे: ती प्रतिमेच्या सर्वात लांब बाजूने 600 पिक्सेल पर्यंत किमान रिझोल्यूशनमध्ये प्रतिमा तयार करते. वापरकर्त्याला फोटोवर फिल्टर लागू करण्याच्या केवळ एका पुनरावृत्तीचा परिणाम प्राप्त होतो.

दोन सशुल्क आवृत्त्या आहेत: प्रीमियम सर्वात लांब बाजूने 700 पिक्सेल पर्यंत प्रतिमा तयार करते आणि प्रतिमेवर न्यूरल नेटवर्क प्रक्रियेची 600 पुनरावृत्ती लागू करते (जेवढी पुनरावृत्ती, प्रक्रिया अधिक मनोरंजक आणि गहन). अशा एका चित्राची किंमत 50 रूबल असेल.

एचडी आवृत्तीमध्ये, आपण पुनरावृत्तीची संख्या समायोजित करू शकता: 100 ची किंमत 50 रूबल आणि 1000 - 250 रूबल असेल. या प्रकरणात, प्रतिमेचे सर्वात लांब बाजूने 1200 पिक्सेल पर्यंतचे रिझोल्यूशन असेल आणि कॅनव्हासवर मुद्रणासाठी ते वापरणे शक्य होईल: Ostagram ही सेवा 1800 rubles पासून वितरणासह ऑफर करते.

फेब्रुवारीमध्ये, ऑस्टाग्रामचे प्रतिनिधी "विकसित भांडवलशाही असलेल्या देशांमधून" वापरकर्त्यांकडून प्रतिमा प्रक्रियेसाठी विनंत्या स्वीकारणार नाहीत, परंतु नंतर जगभरातील VKontakte वापरकर्त्यांसाठी फोटो प्रक्रियेत प्रवेश करतील. GitHub वर प्रकाशित केलेल्या Ostagram कोडचा आधार घेत, तो निझनी नोव्हगोरोड येथील 30 वर्षीय रहिवासी सेर्गेई मोरुगिनने विकसित केला होता.

टीजेशी संपर्क साधला व्यावसायिक दिग्दर्शकआंद्रे यांनी सादर केलेला प्रकल्प. त्यांच्या मते, ओस्टाग्राम इंस्टापेंटिंगच्या आधी दिसला, परंतु व्हिपार्ट नावाच्या तत्सम प्रकल्पाद्वारे प्रेरित झाला.

Ostagram हे NNSTU मधील विद्यार्थ्यांच्या गटाने विकसित केले आहे. अलेक्सेवा: 2015 च्या शेवटी मित्रांच्या एका अरुंद गटावर प्राथमिक चाचणी केल्यानंतर, त्यांनी प्रकल्प सार्वजनिक करण्याचा निर्णय घेतला. सुरुवातीला, प्रतिमा प्रक्रिया पूर्णपणे विनामूल्य होती, आणि छापील चित्रे विकून पैसे कमविण्याची योजना होती. आंद्रेईच्या मते, मुद्रण ही सर्वात मोठी समस्या बनली: न्यूरल नेटवर्कद्वारे प्रक्रिया केलेल्या लोकांचे फोटो क्वचितच आनंददायी दिसतात. मानवी डोळा, आणि अंतिम क्लायंटला कॅनव्हासवर लागू करण्यापूर्वी निकाल बराच काळ समायोजित करणे आवश्यक आहे, ज्यासाठी भरपूर मशीन संसाधने आवश्यक आहेत.

इमेज प्रोसेसिंगसाठी, ऑस्टाग्रामच्या निर्मात्यांना ऍमेझॉन क्लाउड सर्व्हर वापरायचे होते, परंतु वापरकर्त्यांचा ओघ वाढल्यानंतर, हे स्पष्ट झाले की त्यांची किंमत कमीत कमी गुंतवणुकीसह दररोज हजार डॉलर्सपेक्षा जास्त असेल. आंद्रे, जो प्रकल्पातील गुंतवणूकदार देखील आहे, निझनी नोव्हगोरोडमध्ये सर्व्हर सुविधा भाड्याने घेतल्या.

प्रकल्पाचे प्रेक्षक दिवसाला सुमारे एक हजार लोक आहेत, परंतु काही दिवसांपासून ते संक्रमणामुळे 40 हजार लोकांपर्यंत पोहोचले. परदेशी मीडिया, ज्यांनी घरगुती लोकांपूर्वी प्रकल्प आधीच लक्षात घेतला आहे (ऑस्टाग्राम अगदी युरोपियन डीजेसह सहयोग करण्यास व्यवस्थापित केले). रात्री, जेव्हा रहदारी कमी असते, तेव्हा प्रतिमा प्रक्रियेस 5 मिनिटे लागू शकतात आणि दिवसा एक तास लागू शकतो.

जर पूर्वी परदेशी वापरकर्ते जाणूनबुजून इमेज प्रोसेसिंगवर मर्यादित प्रवेश करत असतील (रशियामधून कमाई सुरू करण्याचा विचार केला गेला होता), तर आता Ostagram आधीच पाश्चात्य प्रेक्षकांवर अधिक अवलंबून आहे.

आजपर्यंत, परतफेडीची शक्यता सशर्त आहे. जर प्रत्येक वापरकर्त्याने प्रक्रियेसाठी 10 रूबल दिले, तर कदाचित ते चुकते होईल. […]

आपल्या देशात कमाई करणे खूप कठीण आहे: आमचे लोक एक आठवडा प्रतीक्षा करण्यास तयार आहेत, परंतु ते त्यासाठी एक पैसाही देणार नाहीत. युरोपीय लोक याला अधिक अनुकूल आहेत - वेग वाढवण्यासाठी, गुणवत्ता सुधारण्यासाठी पैसे देण्याच्या दृष्टीने - म्हणून अभिमुखता त्या बाजाराकडे जाते.

आंद्रे, ऑस्टाग्राम प्रतिनिधी

आंद्रे यांच्या म्हणण्यानुसार, ऑस्टाग्राम टीम काम करत आहे नवीन आवृत्तीसामाजिकतेवर जोरदार फोकस असलेली साइट: "ती एका सुप्रसिद्ध सेवेसारखी दिसेल, परंतु काय करावे." रशियामधील फेसबुकच्या प्रतिनिधींना आधीच या प्रकल्पात रस आहे, परंतु हा करार अद्याप विक्रीवर वाटाघाटी करण्यासाठी आला नाही.

सेवा कार्य उदाहरणे

Ostagram वेबसाइटवरील फीडमध्ये, आपण हे देखील पाहू शकता की अंतिम शॉट्समध्ये प्रतिमांच्या संयोजनाचा परिणाम झाला: बहुतेकदा हे परिणामापेक्षाही अधिक मनोरंजक असते. त्याच वेळी, फिल्टर - प्रक्रियेसाठी प्रभाव म्हणून वापरलेली चित्रे - पुढील वापरासाठी जतन केली जाऊ शकतात.

© 2022 skudelnica.ru -- प्रेम, विश्वासघात, मानसशास्त्र, घटस्फोट, भावना, भांडणे