टेक्नोस्फीयर पांच साल



आज, टेक्नॉस्फियर परियोजना अपनी पांचवीं वर्षगांठ मनाती है। इन वर्षों में हमारी उपलब्धियां हैं:

  • प्रशिक्षण 330 स्नातकों द्वारा पूरा किया गया था।
  • कोर्स में 120 छात्र हैं।
  • 30 शिक्षकों द्वारा कक्षाएं सिखाई जाती हैं।
  • पाठ्यक्रम में 16 विषयों में 250 पाठ हैं।
  • पुपिल्स 71 डीजेड का प्रदर्शन करती हैं।
  • 8000 उपयोगकर्ता।
  • Mail.ru ग्रुप में 100 से अधिक छात्रों ने अपने करियर की शुरुआत की।

प्रशिक्षण के अंत में, छात्र अपनी स्नातक परियोजनाएं बनाते हैं, जिसके लिए उन्हें तीन महीने दिए जाते हैं। और टेक्नोस्फीयर की पांचवीं वर्षगांठ के सम्मान में, हमने हाल के वर्षों के सबसे उज्ज्वल स्नातक कार्यों को एकत्र किया है। स्नातक खुद अपनी परियोजनाओं के बारे में बताएंगे।

"ब्राइट मेमोरी"


Vsevolod विकुलिन, बोरिस कोपिन, डेनिस कुज़मिन

शुरुआत में, हमने एक इमेज रिटचिंग सेवा बनाने की योजना बनाई जो हमें ब्लैक एंड व्हाइट तस्वीरों को रंगीन करने की भी अनुमति देगी। जब आकाओं के साथ परियोजनाओं पर चर्चा करते हैं, तो इस विचार के बारे में ओके टीम को बताने के लिए एक विचार उत्पन्न हुआ, और परिणामस्वरूप, उन्होंने युद्ध के बीडब्ल्यू तस्वीरों को रंग देने के कार्य के साथ एक विशेष एप्लिकेशन बनाने का फैसला किया।

ऐसा करने के लिए, हमें तंत्रिका नेटवर्क की वास्तुकला को डिजाइन करना था, मॉडल के प्रशिक्षण के लिए फ़ोटो का एक उपयुक्त सेट बनाना और ओके प्लेटफ़ॉर्म पर एप्लिकेशन चलाना था।

हमने कई तैयार तंत्रिका नेटवर्क की कोशिश की, लेकिन उनमें से किसी ने भी वांछित गुणवत्ता नहीं दी। फिर हमने अपना खुद का बनाने का फैसला किया। पहले चरण में, तंत्रिका नेटवर्क ने BW चैनल पर RGB छवि की भविष्यवाणी करने की कोशिश की, लेकिन परिणाम ऐसा था, क्योंकि नेटवर्क ने सब कुछ ग्रे टन में रंगने की कोशिश की।


मूल तंत्रिका नेटवर्क के संचालन का एक उदाहरण।

फिर हमने दूसरे प्री-प्रशिक्षित न्यूरल नेटवर्क का उपयोग करने का निर्णय लिया।

इसकी मदद से, हम मूल रंगीन फोटोग्राफ से संकेतों को निकालने में सक्षम थे, और पहले तंत्रिका नेटवर्क द्वारा चित्रित एक से। इसलिए हमने दूसरे तंत्रिका नेटवर्क को यह समझने के लिए सिखाया कि वास्तविक जीवन में कुछ वस्तुओं में क्या रंग निहित हैं: आकाश नीला है, घास हरा है, और इसी तरह। तंत्रिका नेटवर्क को लागू करने के लिए, हमने लोकप्रिय पाइटोरच ढांचे का उपयोग किया।


नई तंत्रिका नेटवर्क वास्तुकला।

लेकिन मुख्य बात यह थी कि मॉडल को सिखाने के लिए कि लोगों के चेहरे को यथासंभव वास्तविक रूप से कैसे चित्रित किया जाए। हमें इस तथ्य से सामना करना पड़ा कि मौजूदा डेटा सेटों में से कोई भी हमारे कार्य के लिए उपयुक्त नहीं था - हमें कुछ प्राकृतिक पृष्ठभूमि वाले चेहरे की बड़ी तस्वीरों की आवश्यकता थी। छवियों का अपना सेट बनाने के लिए, हमने पहले 5000 सेलिब्रिटी नामों की एक सूची बनाई। फिर, इन नामों को विभिन्न खोज इंजनों में छवियों के लिए खोजा गया था। फेस रिकग्निशन मेथड्स का उपयोग करते हुए, उन तस्वीरों को हटा दिया गया था जिनमें चेहरे बिल्कुल नहीं थे, और शेष तस्वीरों में सबसे उपयुक्त टुकड़े हाइलाइट किए गए थे। इसलिए हमने 600 हजार तस्वीरों का आवश्यक सेट एकत्र किया।

इसके बाद एक सैन्य वर्दी की यथार्थवादी पेंटिंग का काम आया।

इसे हल करने के लिए, मुझे विभिन्न पदकों और आदेशों के साथ सैन्य वर्दी को कृत्रिम रूप से उत्पन्न करना पड़ा। इसके अलावा, मुझे युद्ध के बारे में कुछ रंगीन फिल्में बनानी पड़ीं।


प्रशिक्षण सेट से फ़ोटो के उदाहरण।

सामान्य प्रयोजन की तस्वीरों के एक लोकप्रिय सेट के साथ यह सब मिलाकर, हमें तंत्रिका नेटवर्क के प्रशिक्षण के लिए 2.5 मिलियन तस्वीरें मिलीं।

हमने तंत्रिका नेटवर्क का एक कार्यशील प्रोटोटाइप तैयार किया और ओके प्लेटफॉर्म पर एक एप्लिकेशन विकसित करना शुरू किया। यह बैकएंड और फ्रंटएंड के साथ एक मानक वेब एप्लिकेशन है। हम बैकएंड के लिए जिम्मेदार थे, और ओके टीम ने फ्रंटेंड पर कब्जा कर लिया। उपलब्ध संसाधनों का वास्तविक रूप से मूल्यांकन करते हुए, हमने तय किया कि आर्टिस्टो परियोजना की वर्तमान वास्तुकला का उपयोग करना अधिक तर्कसंगत होगा।

ऐसा करने के लिए, हमने तंत्रिका नेटवर्क कोड को Lua मशाल फ्रेमवर्क में पोर्ट किया और इसे पर्यावरण में लागू किया।


एप्लिकेशन इंटरफ़ेस ठीक है।

9 मई को, हमारा आवेदन ओडनोक्लास्निक के कई मिलियन डॉलर के सहपाठियों के लिए उपलब्ध हो गया, कई बड़े मीडिया आउटलेट्स ने इसके बारे में लिखा और वर्तमान में 230 हजार लोग इस सेवा का उपयोग करते हैं। इतने कम समय में परियोजना को लागू करना बहुत मुश्किल था, लेकिन हमने सब कुछ प्रबंधित किया। हमारे गुरु ओल्गा शुबर्ट और अलेक्सी वोरोपेव के लिए बहुत धन्यवाद, जिन्होंने हमें ओके में एकीकरण के साथ मदद की। हम Mail.ru से इन्फ्रास्ट्रक्चर डेवलपमेंट ग्रुप को भी धन्यवाद देते हैं ताकि आर्टिस्टो प्रोजेक्ट में इंटीग्रेशन के लिए मदद मिल सके और तंत्रिका नेटवर्क आर्किटेक्चर पर अमूल्य सलाह के लिए अलग से दिमित्री सोलोविओव का निर्माण किया जा सके।

"म्यूज़िक मैप"


व्लादिमीर बुगाएव्स्की, दाना ज़्लोचेवस्काया, रालिना शैवालिएवा



परियोजना का विचार हमें मेंटर अलेक्सी वोरोपेव और दिमित्री सोलोवोव ने सुझाया था। एक बार एक सोनी प्लेयर था जो चार मूड के अनुसार गाने को वर्गीकृत करने में सक्षम था। आज, प्रौद्योगिकी ने एक बड़ा कदम आगे बढ़ाया है, कृत्रिम बुद्धिमत्ता और तंत्रिका नेटवर्क सक्रिय रूप से विकसित हो रहे हैं, और हमने महसूस किया कि हम कुछ ऐसा कूलर कर सकते हैं जो हमारे उपयोगकर्ता चाहेंगे - एक संगीत कार्ड जो वीके उपयोगकर्ता की ऑडियो रिकॉर्डिंग के मूड की कल्पना करेगा। और उन्होंने इसे क्रोम के लिए एक विस्तार के रूप में लागू करने का फैसला किया - यह स्थापित करना आसान है और उपयोग करने के लिए सुविधाजनक है।

स्वाभाविक रूप से, हमने उन दृष्टिकोणों की खोज शुरू की जो संगीत के मूड को निर्धारित करने के लिए पहले से ही उपयोग किए गए थे। लगभग एक दर्जन वैज्ञानिक लेखों को देखने के बाद, हमने महसूस किया कि लगभग किसी ने ऑडियो रिकॉर्डिंग की भावनाओं का विश्लेषण करने के लिए तंत्रिका नेटवर्क का उपयोग करने की कोशिश नहीं की थी।

हमारे लिए एक और कठिनाई भावनाओं को कल्पना करने का काम था। यह पता चला कि मनोविज्ञान में मानव मनोदशाओं का प्रतिनिधित्व करने के लिए कई मॉडल हैं, जिनमें से प्रत्येक के अपने फायदे और नुकसान हैं। हम तथाकथित circumplex स्थानिक मॉडल पर बसे: इसका विचार यह है कि किसी भी भावना को दो-आयामी अंतरिक्ष में एक बिंदु के रूप में दर्शाया जा सकता है। इस पैमाने के लिए धन्यवाद, हम उपयोगकर्ता के लिए समझने योग्य तरीके से उसकी ऑडियो रिकॉर्डिंग के मूड की कल्पना करने में सक्षम थे।

हमने आवेदन पर काम के तीन मोर्चों की पहचान की:

  • सर्वर भाग विस्तार अनुरोधों को स्वीकार करेगा, स्पेक्ट्रोग्राम का निर्माण करेगा, पूर्वानुमान लगाएगा और उन्हें उपयोगकर्ता को लौटा देगा।
  • उपयोगकर्ता हिस्सा जिसके साथ व्यक्ति बातचीत करेगा।
  • तंत्रिका नेटवर्क प्रशिक्षण: प्रशिक्षण सेट तैयार करना, नेटवर्क वास्तुकला और स्वयं सीखने की प्रक्रिया का चयन करना।

काम का दायरा बहुत बड़ा था, इसलिए हर कोई हर चीज में खुद को आजमा सकता था। हमारी टीम ने बहुत सामंजस्यपूर्ण तरीके से काम किया: हम लगातार कुछ समस्याओं को हल करने के लिए अलग-अलग तरीकों से आए और एक-दूसरे को व्यक्तिगत भागों के कार्यान्वयन की विशेषताओं का पता लगाने में मदद की। हमें जो मुख्य कठिनाई का सामना करना पड़ा, वह तीन महीनों की अत्यंत चुस्त समय सीमा थी। इस समय के दौरान, हमें दृश्यपटल के विकास (जावास्क्रिप्ट में लिखना सीखें) से समझना था, तंत्रिका नेटवर्क (PyTorch) को प्रशिक्षित करने के लिए रूपरेखा की जटिलताओं और मॉड्यूलर विकास (डॉकर) की तकनीक में महारत हासिल करना। अब हमारा एप्लिकेशन कई उपयोगकर्ताओं के लिए परीक्षण मोड में काम करता है।

"पेशेवर लोगों के लिए वीडियो रंगीकरण"


यूरी एडमिरलस्की, डेनिस बिबिक, एंटोन बोगोव्स्की, जॉर्ज कैसपैरेंटिस



कंप्यूटर ग्राफिक्स और मल्टीमीडिया सामग्री प्रसंस्करण की समस्याओं को हल करने के लिए तंत्रिका नेटवर्क के विकास में आधुनिक रुझानों के विश्लेषण के परिणामस्वरूप परियोजना का विचार उत्पन्न हुआ। इस क्षेत्र में व्यक्तिगत छवियों को रंगने के लिए कई अलग-अलग दृष्टिकोण पहले से ही प्रस्तावित किए गए हैं; यह समस्या उत्पन्न होती है, उदाहरण के लिए, जब पुरानी संग्रह तस्वीरों को संसाधित करते हैं। दूसरी ओर, काले और सफेद सोवियत फिल्मों के रंगीन संस्करणों की सफलता ने वीडियो रंग कार्यों की प्रासंगिकता को दर्शाया है। वीडियो को मैन्युअल रूप से रंगना, फ्रेम से फ्रेम करना, एक अत्यंत समय लेने वाला कार्य है, जिसके समाधान के लिए पेशेवर स्टूडियो की भागीदारी की आवश्यकता होती है। और उन उपयोगकर्ताओं के लिए जो अपने पुराने वीडियो के रंग संस्करण प्राप्त करना चाहते हैं, कुछ के पास आवश्यक कौशल हैं और मैन्युअल रंग के लिए पर्याप्त समय है, वीडियो स्टूडियो के पेशेवर टीमों की मदद से इस तरह के कार्य को पूरा करने के लिए पैसे का उल्लेख नहीं करना है। इसलिए, हमने कलरिंग के लिए प्रसिद्ध दृष्टिकोणों को लागू करने का प्रयास करने का निर्णय लिया और एक संपादकीय कार्यक्रम बनाने के लिए भूरि-भूरि नेटवर्कों का उपयोग करके वीडियो को रंगने की जटिलता को कम करने का प्रयास किया।

इस तरह के कार्यक्रम को विकसित करते समय मुख्य कार्य को हल करना था, जो फ्रेम में वस्तुओं को चित्रित करते समय सही रंग प्राप्त करना था। हमें इस तथ्य से सामना करना पड़ता है कि छवि प्रसंस्करण समस्याओं को हल करने के लिए तंत्रिका नेटवर्क के प्रशिक्षण में उपयोग किए जाने वाले शास्त्रीय डेटा सेट (उदाहरण के लिए, इमेजनेट) हमें अच्छे स्वचालित (किसी भी अतिरिक्त जानकारी के बिना) रंग प्राप्त करने की अनुमति नहीं देते हैं। उदाहरण के लिए, फ्रेम में कुछ वस्तुओं को मान्यता नहीं दी गई थी और रंगीन छवि में काले और सफेद बने रहे। अत्याधुनिक मॉडलों की एक और समस्या पेंटिंग की वस्तुओं के लिए रंगों का गलत विकल्प थी - दोनों कार्य अनिर्धारित (कपड़े रंगने) होने के कारण, और दुर्लभ वस्तुओं की गलत परिभाषा के परिणामस्वरूप, साथ ही साथ संपीड़न कलाकृतियों से प्रभावित वस्तुएं भी। फ़्रेम बदलते समय, फ़्रेम में छोटे परिवर्तनों के लिए मॉडल की अस्थिरता के कारण फ़्रेम में मौजूद वस्तुओं के रंग में एक रंग परिवर्तन देखा गया था।

इस समस्या को हल करने के लिए, हमने स्थानीय रंग cues की विधि लागू की, जिसने हमें वस्तुओं के अलग-अलग बिंदुओं के रंगों को सेट करके संपूर्ण ऑब्जेक्ट के लिए सही रंग असाइनमेंट और सही रंग संक्रमण प्राप्त करने की अनुमति दी। इसी समय, रंग के दौरान तंत्रिका नेटवर्क वस्तुओं और चमक संक्रमण की सीमाओं के पालन को नियंत्रित करता है। इस दृष्टिकोण ने हमें व्यक्तिगत फ़्रेमों को रंगने की श्रमसाध्यता को कम करने की अनुमति दी (यह ब्रश के उपयोग के बिना, फ्रेम पर केवल व्यक्तिगत बिंदुओं के रंगों को स्पष्ट रूप से निर्धारित करने के लिए आवश्यक था), और फ्रेम के बीच स्विच करते समय अंडरडर्मेशन और रंग परिवर्तन की समस्या को हल करने में मदद की। इसके अलावा, हमने ऐसे मॉडल लागू किए हैं जो आपको फ्रेम में वस्तुओं की गति को ट्रैक करने और रंग संकेत को स्थानांतरित करने की अनुमति देते हैं। हमारे संपादक कार्यक्रम का उपयोग करते हुए, हमने पुरानी ब्लैक एंड व्हाइट फिल्म द किड के एक टुकड़े को रंग दिया।


फिल्म चैपलिन द किड (1921) से चित्रित फ्रेम का एक उदाहरण।

हमने संपादक को क्लाइंट स्टैंडअलोन-एप्लिकेशन के रूप में कार्यान्वित किया, जिसमें वीडियो लोड किया गया है, और फिर फ़्रेम को रंग युक्तियों का उपयोग करके चिह्नित किया गया है। आप तेजी से वीडियो को संसाधित करने के लिए स्थानीय मशीन पर या तीसरे पक्ष के कंप्यूटिंग पावर (उदाहरण के लिए, क्लाउड में सर्वर भाग की तैनाती) पर रंग मॉडल की गणना कर सकते हैं।

संपादक बनाने के लिए, हमने एक महान काम किया, जिसमें फ्रेम ऑब्जेक्ट्स को रंगने और ट्रैक करने के लिए मॉडल को परीक्षण और अंतिम रूप देना, क्लाइंट-सर्वर एप्लिकेशन आर्किटेक्चर विकसित करना और प्रयोज्य क्लाइंट एप्लिकेशन विकसित करना शामिल है। हमने PyTorch फ्रेमवर्क के साथ काम करने की पेचीदगियों को सीखा, जो तंत्रिका नेटवर्क के काम को कार्यान्वित करता है, क्लाइंट अनुप्रयोग विकसित करने के लिए Qt 5 ढांचे में महारत हासिल की, और कंप्यूटिंग बैकएंड को विकसित करने और तैनात करने के लिए Django-REST और Docker का उपयोग करना सीखा।


क्लाइंट एप्लिकेशन का एक उदाहरण।

टेक्नोस्फीयर के शिक्षकों को उनके समर्पित काम के लिए धन्यवाद, प्रासंगिक ज्ञान के लिए जो आप छात्रों को देते हैं। हम इस परियोजना के विकास और विकास की कामना करते हैं!

* * *

आप 16 फरवरी को 10:00 बजे तक sphere.mail.ru पर प्रशिक्षण के लिए आवेदन कर सकते हैं। कृपया ध्यान दें कि मॉस्को स्टेट यूनिवर्सिटी के केवल छात्र और स्नातक छात्र ही टेक्नोस्फीयर में अध्ययन कर सकते हैं। एमवी लोमोनोसोव।

Source: https://habr.com/ru/post/hi439988/


All Articles