Белорусский студент научил нейросеть узнавать персонажей «Игры престолов. Зачем разработчики нейронных сетей создают мобильные приложения для массового рынка. Каковы объёмы рынка нейронных сетей

За последнюю пару лет искусственный интеллект незаметно отряхнулся от тегов «фантастика» и «геймдизайн» и прочно прописался в ежедневных новостных лентах. Сущности под таинственным названием «нейросети» опознают людей по фотографиям, водят автомобили, играют в покер и совершают научные открытия. При этом из новостей не всегда понятно, что же такое эти загадочные нейросети: сложные программы, особые компьютеры или стойки со стройными рядами серверов?

Конечно, уже из названия можно догадаться, что в нейросетях разработчики попытались скопировать устройство человеческого мозга: как известно, он состоит из множества простых клеток-нейронов, которые обмениваются друг с другом электрическими сигналами. Но чем тогда нейросети отличаются от обычного компьютера, который тоже собран из примитивных электрических деталей? И почему до современного подхода не додумались ещё полвека назад?

Давайте попробуем разобраться, что же кроется за словом «нейросети», откуда они взялись - и правда ли, что компьютеры прямо на наших глазах постепенно обретают разум.

Что такое нейронная сеть

Идея нейросети заключается в том, чтобы собрать сложную структуру из очень простых элементов. Вряд ли можно считать разумным один-единственный участок мозга - а вот люди обычно на удивление неплохо проходят тест на IQ. Тем не менее до сих пор идею создания разума «из ничего» обычно высмеивали: шутке про тысячу обезьян с печатными машинками уже сотня лет, а при желании критику нейросетей можно найти даже у Цицерона, который ехидно предлагал до посинения подбрасывать в воздух жетоны с буквами, чтобы рано или поздно получился осмысленный текст. Однако в XXI веке оказалось, что классики ехидничали зря: именно армия обезьян с жетонами может при должном упорстве захватить мир.

На самом деле нейросеть можно собрать даже из спичечных коробков: это просто набор нехитрых правил, по которым обрабатывается информация. «Искусственным нейроном», или перцептроном , называется не какой-то особый прибор, а всего лишь несколько арифметических действий.

Работает перцептрон проще некуда: он получает несколько исходных чисел, умножает каждое на «ценность» этого числа (о ней чуть ниже), складывает и в зависимости от результата выдаёт 1 или –1. Например, мы фотографируем чистое поле и показываем нашему нейрону какую-нибудь точку на этой картинке - то есть посылаем ему в качестве двух сигналов случайные координаты. А затем спрашиваем: «Дорогой нейрон, здесь небо или земля?» - «Минус один, - отвечает болванчик, безмятежно разглядывая кучевое облако. - Ясно же, что земля».

«Тыкать пальцем в небо» - это и есть основное занятие перцептрона. Никакой точности от него ждать не приходится: с тем же успехом можно подбросить монетку. Магия начинается на следующей стадии, которая называется машинным обучением . Мы ведь знаем правильный ответ - а значит, можем записать его в свою программу. Вот и получается, что за каждую неверную догадку перцептрон в буквальном смысле получает штраф, а за верную - премию: «ценность» входящих сигналов вырастает или уменьшается. После этого программа прогоняется уже по новой формуле. Рано или поздно нейрон неизбежно «поймёт», что земля на фотографии снизу, а небо сверху, - то есть попросту начнёт игнорировать сигнал от того канала, по которому ему передают x-координаты. Если такому умудрённому опытом роботу подсунуть другую фотографию, то линию горизонта он, может, и не найдёт, но верх с низом уже точно не перепутает.

Чтобы нарисовать прямую линию, нейрон исчеркает весь лист

В реальной работе формулы немного сложнее, но принцип остаётся тем же. Перцептрон умеет выполнять только одну задачу: брать числа и раскладывать по двум стопкам. Самое интересное начинается тогда, когда таких элементов несколько, ведь входящие числа могут быть сигналами от других «кирпичиков»! Скажем, один нейрон будет пытаться отличить синие пиксели от зелёных, второй продолжит возиться с координатами, а третий попробует рассудить, у кого из этих двоих результаты ближе к истине. Если же натравить на синие пиксели сразу несколько нейронов и суммировать их результаты, то получится уже целый слой, в котором «лучшие ученики» будут получать дополнительные премии. Таким образом достаточно развесистая сеть может перелопатить целую гору данных и учесть при этом все свои ошибки.

Первые нейросети

Перцептроны устроены не намного сложнее, чем любые другие элементы компьютера, которые обмениваются единицами и нулями. Неудивительно, что первый прибор, устроенный по принципу нейросети - Mark I Perceptron, - появился уже в 1958 году, всего через десятилетие после первых компьютеров. Как было заведено в ту эпоху, нейроны у этого громоздкого устройства состояли не из строчек кода, а из радиоламп и резисторов. Учёный Фрэнк Розенблатт смог соорудить только два слоя нейросети, а сигналы на «Марк-1» подавались с импровизированного экрана размером в целых 400 точек. Устройство довольно быстро научилось распознавать простые геометрические формы - а значит, рано или поздно подобный компьютер можно было обучить, например, чтению букв.

Розенблатт и его перцептрон

Розенблатт был пламенным энтузиастом своего дела: он прекрасно разбирался в нейрофизиологии и вёл в Корнеллском университете популярнейший курс лекций, на котором подробно объяснял всем желающим, как с помощью техники воспроизводить принципы работы мозга. Учёный надеялся, что уже через несколько лет перцептроны превратятся в полноценных разумных роботов: они смогут ходить, разговаривать, создавать себе подобных и даже колонизировать другие планеты. Энтузиазм Розенблатта вполне можно понять: тогда учёные ещё верили, что для создания ИИ достаточно воспроизвести на компьютере полный набор операций математической логики. Тьюринг уже предложил свой знаменитый тест, Айзек Азимов призывал задуматься о необходимости законов роботехники, а освоение Вселенной казалось делом недалёкого будущего.

Впрочем, были среди пионеров кибернетики и неисправимые скептики, самым грозным из которых оказался бывший однокурсник Розенблатта, Марвин Минский. Этот учёный обладал не менее громкой репутацией: тот же Азимов отзывался о нём с неизменным уважением, а Стэнли Кубрик приглашал в качестве консультанта на съёмки «Космической одиссеи 2001 года». Даже по работе Кубрика видно, что на самом деле Минский ничего не имел против нейросетей: HAL 9000 состоит именно из отдельных логических узлов, которые работают в связке друг с другом. Минский и сам увлекался машинным обучением ещё в 1950-х. Просто Марвин непримиримо относился к научным ошибкам и беспочвенным надеждам: недаром именно в его честь Дуглас Адамс назвал своего андроида-пессимиста.

В отличие от Розенблатта, Минский дожил до триумфа ИИ

Сомнения скептиков того времени Минский подытожил в книге «Перцептрон» (1969), которая надолго отбила у научного сообщества интерес к нейросетям. Минский математически доказал, что у «Марка-1» есть два серьёзных изъяна. Во-первых, сеть всего с двумя слоями почти ничего не умела - а ведь это и так уже был огромный шкаф, пожирающий уйму электричества. Во-вторых, для многослойных сетей алгоритмы Розенблатта не годились: по его формуле часть сведений об ошибках сети могла потеряться, так и не дойдя до нужного слоя.

Минский не собирался сильно критиковать коллегу: он просто честно отметил сильные и слабые стороны его проекта, а сам продолжил заниматься своими разработками. Увы, в 1971 году Розенблатт погиб - исправлять ошибки перцептрона оказалось некому. «Обычные» компьютеры в 1970-х развивались семимильными шагами, поэтому после книги Минского исследователи попросту махнули рукой на искусственные нейроны и занялись более перспективными направлениями.

Эпоха застоя

Развитие нейросетей остановилось на десять с лишним лет - сейчас эти годы называют «зимой искусственного интеллекта». К началу эпохи киберпанка математики наконец-то придумали более подходящие формулы для расчёта ошибок, но научное сообщество поначалу не обратило внимания на эти исследования. Только в 1986 году, когда уже третья подряд группа учёных независимо от других решила обнаруженную Минским проблему обучения многослойных сетей, работа над искусственным интеллектом наконец-то закипела с новой силой.

Хотя правила работы остались прежними, вывеска сменилась: теперь речь шла уже не о «перцептронах», а о «когнитивных вычислениях». Экспериментальных приборов никто уже не строил: теперь все нужные формулы проще было записать в виде несложного кода на обычном компьютере, а потом зациклить программу. Буквально за пару лет нейроны научились собирать в сложные структуры. Например, некоторые слои искали на изображении конкретные геометрические фигуры, а другие суммировали полученные данные. Именно так удалось научить компьютеры читать человеческий почерк. Вскоре стали появляться даже самообучающиеся сети, которые не получали «правильные ответы» от людей, а находили их сами. Нейросети сразу начали использовать и на практике: программу, которая распознавала цифры на чеках, с удовольствием взяли на вооружение американские банки.

1993 год: капча уже морально устарела

К середине 1990-х исследователи сошлись на том, что самое полезное свойство нейросетей - их способность самостоятельно придумывать верные решения. Метод проб и ошибок позволяет программе самой выработать для себя правила поведения. Именно тогда стали входить в моду соревнования самодельных роботов, которых программировали и обучали конструкторы-энтузиасты. А в 1997 году суперкомпьютер Deep Blue потряс любителей шахмат, обыграв чемпиона мира Гарри Каспарова.

Строго говоря, Deep Blue не учился на своих ошибках, а попросту перебирал миллионы комбинаций

Увы, примерно в те же годы нейросети упёрлись в потолок возможностей. Другие области программирования не стояли на месте - вскоре оказалось, что с теми же задачами куда проще справляются обычные продуманные и оптимизированные алгоритмы. Автоматическое распознавание текста сильно упростило жизнь работникам архивов и интернет-пиратам, роботы продолжали умнеть, но разговоры об искусственном интеллекте потихоньку заглохли. Для действительно сложных задач нейросетям по-прежнему не хватало вычислительной мощности.

Вторая «оттепель» ИИ случилась, только когда изменилась сама философия программирования.

Нейросети наших дней

В последнее десятилетие программисты - да и простые пользователи - часто жалуются, что никто больше не обращает внимания на оптимизацию. Раньше код сокращали как могли - лишь бы программа работала быстрее и занимала меньше памяти. Теперь даже простейший интернет-сайт норовит подгрести под себя всю память и обвешаться «библиотеками» для красивой анимации.

Конечно, для обычных программ это серьёзная проблема, - но как раз такого изобилия и не хватало нейросетям! Учёным давно известно, что если не экономить ресурсы, самые сложные задачи начинают решаться словно бы сами собой. Ведь именно так действуют все законы природы, от квантовой физики до эволюции: если повторять раз за разом бесчисленные случайные события, отбирая самые стабильные варианты, то из хаоса родится стройная и упорядоченная система. Теперь в руках человечества наконец-то оказался инструмент, который позволяет не ждать изменений миллиарды лет, а обучать сложные системы буквально на ходу.

В последние годы никакой революции в программировании не случилось - просто компьютеры накопили столько вычислительной мощности, что теперь любой ноутбук может взять сотню нейронов и прогнать каждый из них через миллион циклов обучения. Оказалось, что тысяче обезьян с пишущими машинками просто нужен очень терпеливый надсмотрщик, который будет выдавать им бананы за правильно напечатанные буквы, - тогда зверушки не только скопируют «Войну и мир», но и напишут пару новых романов не хуже.

Так и произошло третье пришествие перцептронов - на этот раз уже под знакомыми нам названиями «нейросети» и «глубинное обучение». Неудивительно, что новостями об успехах ИИ чаще всего делятся такие крупные корпорации как Google и IBM. Их главный ресурс - огромные дата-центры, где на мощных серверах можно тренировать многослойные нейросети. Эпоха машинного обучения по-настоящему началась именно сейчас, потому что в интернете и соцсетях наконец-то накопились те самые big data, то есть гигантские массивы информации, которые и скармливают нейросетям для обучения.

В итоге современные сети занимаются теми трудоёмкими задачами, на которые людям попросту не хватило бы жизни. Например, для поиска новых лекарств учёным до сих пор приходилось долго высчитывать, какие химические соединения стоит протестировать. А сейчас существует нейросеть, которая попросту перебирает все возможные комбинации веществ и предлагает наиболее перспективные направления исследований. Компьютер IBM Watson успешно помогает врачам в диагностике: обучившись на историях болезней, он легко находит в данных новых пациентов неочевидные закономерности.

Люди классифицируют информацию с помощью таблиц, но нейросетям незачем ограничивать себя двумя измерениями - поэтому массивы данных выглядят примерно так

В сфере развлечений компьютеры продвинулись не хуже, чем в науке. За счёт машинного обучения им наконец поддались игры, алгоритмы выигрыша для которых придумать ещё сложнее, чем для шахмат. Недавно нейросеть AlphaGo разгромила одного из лучших в мире игроков в го, а программа Libratus победила в профессиональном турнире по покеру. Более того, ИИ уже постепенно пробирается и в кино: например, создатели сериала «Карточный домик» использовали big data при кастинге, чтобы подобрать максимально популярный актёрский состав.

Как и полвека назад, самым перспективным направлением остаётся распознание образов. Рукописный текст или «капча» давно уже не проблема - теперь сети успешно различают людей по фотографиям, учатся определять выражения лиц, сами рисуют котиков и сюрреалистические картины. Сейчас основную практическую пользу из этих развлечений извлекают разработчики беспилотных автомобилей - ведь чтобы оценить ситуацию на дороге, машине нужно очень быстро и точно распознать окружающие предметы. Не отстают и спецслужбы с маркетологами: по обычной записи видеонаблюдения нейронная сеть давно уже может отыскать человека в соцсетях. Поэтому особо недоверчивые заводят себе специальные камуфляжные очки, которые могут обмануть программу.

«Ты всего лишь машина. Только имитация жизни. Разве робот сочинит симфонию? Разве робот превратит кусок холста в шедевр искусства?» («Я, робот»)

Наконец, начинает сбываться и предсказание Розенблатта о самокопирующихся роботах: недавно нейросеть DeepCoder обучили программированию. На самом деле программа пока что просто заимствует куски чужого кода, да и писать умеет только самые примитивные функции. Но разве не с простейшей формулы началась история самих сетей?

Игры с ботами

Развлекаться с недоученными нейросетями очень весело: они порой выдают такие ошибки, что в страшном сне не приснится. А если ИИ начинает учиться, появляется азарт: «Неужто сумеет?» Поэтому сейчас набирают популярность интернет-игры с нейросетями.

Одним из первых прославился интернет-джинн Акинатор , который за несколько наводящих вопросов угадывал любого персонажа. Строго говоря, это не совсем нейросеть, а несложный алгоритм, но со временем он становился всё догадливее. Джинн пополнял базу данных за счёт самих пользователей - и в результате его обучили даже интернет-мемам.

Другое развлечение с «угадайкой» предлагает ИИ от Google : нужно накалякать за двадцать секунд рисунок к заданному слову, а нейросеть потом пробует угадать, что это было. Программа очень смешно промахивается, но порой для верного ответа хватает всего пары линий - а ведь именно так узнаём объекты и мы сами.

Ну и, конечно, в интернете не обойтись без котиков. Программисты взяли вполне серьёзную нейросеть, которая умеет строить проекты фасадов или угадывать цвет на чёрно-белых фотографиях, и обучили её на кошках - чтобы она пыталась превратить любой контур в полноценную кошачью фотографию . Поскольку проделать это ИИ старается даже с квадратом, результат порой достоин пера Лавкрафта!

Революция откладывается

При таком обилии удивительных новостей может показаться, что искусственный интеллект вот-вот осознает себя и сумеет решить любую задачу. На самом деле не так всё радужно - или, если встать на сторону человечества, не так мрачно. Несмотря на успехи нейросетей, у них накопилось столько проблем, что впереди нас вполне может ждать очередная «зима».

Главная слабость нейросетей в том, что каждая из них заточена под определённую задачу. Если натренировать сеть на фотографиях с котиками, а потом предложить ей задачку «отличи небо от земли», программа не справится, будь в ней хоть миллиард нейронов. Чтобы появились по-настоящему «умные» компьютеры, надо придумать новый алгоритм, объединяющий уже не нейроны, а целые сети, каждая из которых занимается конкретной задачей. Но даже тогда до человеческого мозга компьютерам будет далеко.

Сейчас самой крупной сетью располагает компания Digital Reasoning (хотя новые рекорды появляются чуть ли не каждый месяц) - в их творении 160 миллиардов элементов. Для сравнения: в одном кубическом миллиметре мышиного мозга около миллиарда связей. Причём биологам пока удалось описать от силы участок в пару сотен микрометров, где нашлось около десятка тысяч связей. Что уж говорить о людях!

Один слой умеет узнавать людей, другой - столы, третий - ножи…

Такими 3D-моделями модно иллюстрировать новости о нейросетях, но это всего лишь крошечный участок мышиного мозга

Кроме того, исследователи советуют осторожнее относиться к громким заявлениям Google и IBM. Никаких принципиальных прорывов в «когнитивных вычислениях» с 1980-х годов не произошло: компьютеры всё так же механически обсчитывают входящие данные и выдают результат. Нейросеть способна найти закономерность, которую не заметит человек, - но эта закономерность может оказаться случайной. Машина может подсчитать, сколько раз в твиттере упоминается «Оскар», - но не сможет определить, радуются пользователи результатам или ехидничают над выбором киноакадемии.

Теоретики искусственного интеллекта настаивают, что одну из главных проблем - понимание человеческого языка - невозможно решить простым перебором ключевых слов. А именно такой подход до сих пор используют даже самые продвинутые нейросети.

Сказки про Скайнет


Хотя нам самим сложно удержаться от иронии на тему бунта роботов, серьёзных учёных не стоит даже и спрашивать о сценариях из «Матрицы» или «Терминатора»: это всё равно что поинтересоваться у астронома, видел ли он НЛО. Исследователь искусственного интеллекта Элиезер Юдковски, известный по роману « », написал ряд статей, где объяснил, почему мы так волнуемся из-за восстания машин - и чего стоит опасаться на самом деле.

Прежде всего, «Скайнет» приводят в пример так, словно мы уже пережили эту историю и боимся повторения. А всё потому, что наш мозг не умеет отличать выдумки с киноэкранов от жизненного опыта. На самом-то деле роботы никогда не бунтовали против своей программы, и попаданцы не прилетали из будущего. С чего мы вообще взяли, что это реальный риск?

Бояться надо не врагов, а чересчур усердных друзей. У любой нейросети есть мотивация: если ИИ должен гнуть скрепки, то, чем больше он их сделает, тем больше получит «награды». Если дать хорошо оптимизированному ИИ слишком много ресурсов, он не задумываясь переплавит на скрепки всё окрестное железо, потом людей, Землю и всю Вселенную. Звучит безумно - но только на человеческий вкус! Так что главная задача будущих создателей ИИ - написать такой жёсткий этический кодекс, чтобы даже существо с безграничным воображением не смогло найти в нём «дырок».

* * *

Итак, до настоящего искусственного интеллекта пока ещё далеко. С одной стороны над этой проблемой по-прежнему бьются нейробиологи, которые ещё до конца не понимают, как же устроено наше сознание. С другой наступают программисты, которые попросту берут задачу штурмом, бросая на обучение нейросетей всё новые и новые вычислительные ресурсы. Но мы уже живём в прекрасную эпоху, когда машины берут на себя всё больше рутинных задач и умнеют на глазах. А заодно служат людям отличным примером, потому что всегда учатся на своих ошибках.

Сделай сам


Нейронную сеть можно сделать с помощью спичечных коробков - тогда у вас в арсенале появится фокус, которым можно развлекать гостей на вечеринках. Редакция МирФ уже попробовала - и смиренно признаёт превосходство искусственного интеллекта. Давайте научим неразумную материю играть в игру «11 палочек». Правила просты: на столе лежит 11 спичек, и в каждый ход можно взять либо одну, либо две. Побеждает тот, кто взял последнюю. Как же играть в это против «компьютера»? Очень просто.

  1. Берём 10 коробков или стаканчиков. На каждом пишем номер от 2 до 11.
  2. Кладём в каждый коробок два камешка - чёрный и белый. Можно использовать любые предметы - лишь бы они отличались друг от друга. Всё - у нас есть сеть из десяти нейронов!

Теперь начинается игра.

  1. Нейросеть всегда ходит первой. Для начала посмотрите, сколько осталось спичек, и возьмите коробок с таким номером. На первом ходу это будет коробок №11.
  2. Возьмите из нужного коробка любой камешек. Можно закрыть глаза или кинуть монетку, главное - действовать наугад.
  3. Если камень белый - нейросеть решает взять две спички. Если чёрный - одну. Положите камешек рядом с коробком, чтобы не забыть, какой именно «нейрон» принимал решение.
  4. После этого ходит человек - и так до тех пор, пока спички не закончатся.

Ну а теперь начинается самое интересное: обучение. Если сеть выиграла партию, то её надо наградить: кинуть в те «нейроны», которые участвовали в этой партии, по одному дополнительному камешку того же цвета, который выпал во время игры. Если же сеть проиграла - возьмите последний использованный коробок и выньте оттуда неудачно сыгравший камень. Может оказаться, что коробок уже пустой, - тогда «последним» считается предыдущий походивший нейрон. Во время следующей партии, попав на пустой коробок, нейросеть автоматически сдастся.

Вот и всё! Сыграйте так несколько партий. Сперва вы не заметите ничего подозрительного, но после каждого выигрыша сеть будет делать всё более и более удачные ходы - и где-то через десяток партий вы поймёте, что создали монстра, которого не в силах обыграть.

Знакомый ранее только по фантастическим книгам термин нейросеть в последние годы постепенно и незаметно вошел в общественную жизнь как неотъемлемая часть новейших научных разработок. Конечно, уже довольно давно люди, задействованные в индустрии игростроения, знали, что это - нейросеть. Но в наши дни термин встречается всем, его знают и понимают широкие массы. Несомненно, это свидетельствует о том, что наука стала ближе к реальной жизни, а в будущем нас ждут новые прорывы. И все же, что это - нейросеть? Попробуем разобраться со значением слова.

Настоящее и будущее

В прежние времена нейросеть, Хорт и попаданцы в космос были тесно связанными понятиями, ведь встретиться с искусственным интеллектом, обладающим способностями, значительно превосходящими простую машину, можно было только в фантастическом мире, возникающем в фантазии некоторых авторов. И все же тенденции таковы, что в последнее время вокруг обычного человека в реальности появляется все больше тех предметов, которые раньше упоминались только в фантастической литературе. Это позволяет говорить о том, что даже самый бурный полет фантазии, возможно, рано или поздно найдет себе эквивалент в реальности. Книги о попаданцах, нейросетях уже сейчас имеют больше общего с реальностью, чем лет десять тому назад, и кто знает, что будет еще через десятилетие?

Нейросеть в современных реалиях - это технология, позволяющая опознавать людей, имея в своем распоряжении лишь фотографию. Искусственный интеллект вполне способен управлять машиной, может сыграть и выиграть партию в покер. Более того, нейросети - это новые пути для совершения научных открытий, позволяющие прибегать к ранее невозможным вычислительным возможностям. Это дает уникальные шансы для познания мира уже сегодня. Впрочем, только из новостных сводок, оповещающих о новейших открытиях, редко понятно нейросеть - это что такое. Считать ли этот термин применимым к программе, машине или же комплексу серверов?

Общее представление

Как видно из самого термина "нейросеть" (фото, представленные в этой статье, также позволяют это понять) - это такая структура, которую конструировали по аналогии с логикой работы человеческого мозга. Конечно, скопировать полностью биологическое строение столь высокого уровня сложности в настоящий момент не представляется реальным, но ученые уже смогли ощутимо приблизиться к решению поставленной задачи. Скажем, довольно эффективны созданные в последнее время нейросети. Хорт и другие писатели, издававшие фантастические сочинения, вряд ли на момент написания своих произведений знали, что наука сможет уже к нынешнему году шагнуть так далеко вперед.

Особенность человеческого мозга в том, что это структура из многочисленных элементов, между которыми постоянно передается информация через нейроны. Фактически новые нейросети - это тоже подобные структуры, где электрические импульсы обеспечивают обмен актуальными данными. Словом, прямо как в мозге человека. И все же непонятно: если ли отличие от обычного компьютера? Ведь машина, как известно, тоже создана из деталей, данные между которыми переходят посредством электрического тока. В нейросетях все обычно выглядит феерично - огромные или крохотные машины, при одном взгляде на которые герои понимают, с чем имеют дело. А вот в реальности пока ситуация складывается иначе.

Как это строится?

Как видно из научных работ, посвященных нейросетям («Попаданцы в космос», к сожалению, к этой категории не относятся, какими бы увлекательными они ни были), идея в наиболее прогрессивной структуре в области искусственного интеллекта, в создании сложной структуры, отдельные части которой очень просты. Фактически, проводя параллель с человеком, можно найти сходство: скажем, только один участок мозга млекопитающего не обладает большими способностями, возможностями, не может обеспечивать разумное поведение. А вот когда речь идет о человеке в целом, то такое существо спокойно проходит тест на уровень интеллекта без особенных проблем.

Несмотря на указанное сходство, аналогичный подход к еще несколько лет тому назад подвергался остракизму. Это видно и из научных работ, и из фантастических книг про нейросеть («Попаданцы в космос», упомянутые выше, к примеру). Между прочим, в некоторой степени даже высказывания Цицерона можно связать с современной идеей нейросетей: он в свое время довольно едко предложил обезьянкам кидать в воздух написанные на жетонах буквы, дабы рано или поздно из них сложился осмысленный текст. И только 21 столетие показало, что подобное ехидство было совершенно неоправданным. Нейросеть и фантастика разошлись разными путями: если армии обезьянок дать множество жетонов, они не только создадут богатый смыслом текст, но и власть над миром получат.

Сила - в единстве, брат

Как удалось узнать из многочисленных экспериментов, обучение нейросети тогда приводит к успеху, когда сам объект включает в себя огромное количество элементов. Как шутят ученые, фактически нейронную сеть можно собрать из чего угодно, хоть из коробков со спичками, так как основная идея - комплекс правил, которым подчиняется полученное сообщество. Обычно правила довольно простые, но позволяют контролировать процесс обработки данных. В такой ситуации нейроном (правда, искусственным) будет вовсе не прибор, не сложная структура или непонятая система, а арифметические действия, довольно простые, реализуемые с минимальной затратой энергии. Официально в науке искусственные нейроны получили наименование «перцептроны». Нейросети («Попаданцы в космос» хорошо это иллюстрируют) в представлении некоторых авторов научных произведений должны быть гораздо сложнее, но современная наука показывает, что простота тоже дает превосходный результат.

Работа искусственного нейрона проста: на вход подаются числа, вычисляется ценность для каждого информационного блока, результаты складываются, на выходе формируется единица или значение «-1». Хотелось ли читателю хоть раз оказаться среди попаданцев? Нейросети в реальности работают совершенно иначе, по крайней мере в настоящий момент времени, поэтому, представляя себя в фантастическом произведении, не стоит забывать об этом. Фактически современный человек может работать с искусственным интеллектом, к примеру, так: можно показать картинку, и электронная система будет отвечать на вопрос «или - или». Предположим, что человек задает системе координаты одной точки и спрашивает, что изображено - земля или, скажем, небо. Проанализировав информацию, система выдает ответ - вполне возможно, неверный (зависит от совершенства ИИ).

Пальцем в небо

Как видно из логики работы современной нейросети, каждый элемент ее занимается тем, что пытается угадать правильный ответ на заданный системе вопрос. Точности в этом случае мало, результат сравним с итогом подбрасывания монеты. Но реальная научная работа начинается, когда приходит время обучения нейросети. Космос, освоение новых миров, проникновение в суть физических законов нашей вселенной (на что рассчитывают современные ученые, применяя нейросети) станет открытым именно в тот момент, когда искусственный интеллект будет обучаться с гораздо большей эффективностью и результативностью, нежели человек.

Дело в том, что человек, который задает системе вопрос, знает правильный ответ на него. Значит, можно записать его в информационные блоки программы. Перцептрон, давший правильный ответ, приобретает ценность, а вот ответивший неверно - теряет ее, получая штраф. Каждый новый цикл запуска программы имеет отличия от предыдущего из-за изменения в уровне ценности. Возвращаясь к предыдущему примеру: рано или поздно программа научится четко различать, где земля, где космос. Нейросети учатся тем эффективнее, чем корректнее составлена программа изучения - а ее формирование стоит современным ученым немалых усилий. В рамках поставленной ранее задачи: если нейросети предоставить на анализ другую фотографию, вероятно, она не сразу сможет обработать ее точно, но, на основании полученных в ходе обучения ранее данных, точно сообразит, где земля, а где - облака, космос или что-то еще.

Применение идеи в реальности

Конечно, в реальности нейросети гораздо сложнее, нежели описаны выше, хотя сам принцип сохраняется. Основная задача элементов, из которых сформирована нейронная сеть - систематизировать числовую информацию. При сочетании обилия элементов задача усложняется, поскольку входная информация может быть не извне, а от перцептрона, уже выполнившего свою работу по систематизации.

Если вернуться к задаче выше, то внутри нейросети можно придумать такие процессы: один нейрон отличает синие пиксели от других, другой обрабатывает координаты, третий анализирует полученные первыми двумя данные, на основании чего принимает решение о том, земля или небо в заданной точке. Причем сортировку на синие и прочие пиксели можно доверить одновременно нескольким нейронам, а полученную ими информацию суммировать. Те перцептроны, которые дадут лучший и более точный результат, получат по итогам премию в виде большей ценности, и их результаты при повторной обработке любой задачи будут приоритетными. Конечно, нейронная сеть получается исключительно объемная, а информация, обрабатываемая в ней, будет и вовсе неподъемной горой, зато удастся учесть и проанализировать ошибки и предупредить их в будущем. Во многом основанные на нейросети импланты, присутствующие во многих фантастических книгах, работают по такому принципу (если, конечно, авторы утруждают себя размышлениями над принципом работы).

Исторические вехи

Это может удивить неспециалиста, но первые нейронные сети появились еще в 1958 году. Это обусловлено тем, что устройство искусственных нейронов сходно с другими компьютерными элементами, между которыми информация передается в формате двоичной системы счисления. Под конец шестидесятых была изобретена машина, получившая наименование «Марк I Перцептрон», в которой были реализованы принципы нейросетей. Это означает, что первая нейронная сеть появилась всего через десятилетие после конструирования первого компьютера.

Первые нейроны первой нейросети состояли из резисторов, радиоламп (в тот период еще не было разработано такого кода, которым могут пользоваться современные ученые). Работа с нейросетью была задачей Френка Розенблатта, создавшего двухслойную сеть. Для передачи внешних данных в сеть использовался экран разрешением 400 точек. Машина вскоре смогла опознавать геометрические фигуры. Уже это позволило предположить, что, при совершенствовании технических решений, нейросети могут научиться читать буквы. И кто знает, чему еще?

Первая нейросеть

Как видно из истории, Розенблатт буквально горел своим делом, ориентировался в нем на отлично, был специалистом в нейрофизиологии. Он был автором увлекательного и пользовавшегося популярностью университетского курса, в рамках которого всякий желающий мог понять, каким образом реализовать человеческий мозг в техническом воплощении. Уже тогда ученое сообщество надеялось, что в скором времени будут реальные возможности формировать разумных роботов, способных передвигаться, говорить, формировать аналогичные себе системы. Кто знает, может эти роботы отправились бы на колонизацию иных планет?

Розентблатт был энтузиастом, и его можно понять. Ученые считали, что искусственный интеллект можно реализовать, если полностью воплотить в машине математическую логику. В этот момент уже существовал Азимов популяризовал идею роботехники. Научное сообщество было убеждено, что освоение Вселенной - вопрос времени.

Скептицизм оправдался

Уже в шестидесятых находились такие ученые, которые спорили и с Розенблаттом, и с другими великими умами, работавшими над искусственным интеллектом. Довольно точное представление об их логике измышлений можно получить из публикаций Марвина Минского, известного в своей области. К слову сказать, известно, что о способностях Минского высоко отзывались Стенли Кубрик (Минский помогал ему в работе над «Космической одиссеей»). Минский не был против создания нейронных сетей, о чем свидетельствует и фильм Кубрика, да и в рамках своей научной карьеры он занимался обучением машин еще в пятидесятых. Тем не менее Минский категорично относился к ошибочным мнениям, критиковал надежды, для которых в тот момент еще не было прочного основания. К слову сказать, Марвин из книг назван именно в честь Минского.

Критика нейросетей и подхода того времени систематизирована в издании «Перцептрон», датированном 1969 годом. Именно эта книга у многих буквально на корню убила интерес к нейронным сетям, ведь ученый с отличной репутацией наглядно показал, что «Марк Первый» имеет ряд изъянов. Во-первых, наличие всего лишь двух слоев было явно недостаточным, и машина умела слишком мало, несмотря на свои гигантские размеры и огромный расход энергии. Второй пункт критики был посвящен алгоритмам, разработанным Розенблаттом для обучения сети. По мнению Минского, с высокой вероятностью терялась информация об ошибках, и нужный слой просто не получал полного объема данных для корректного анализа ситуации.

Дело встало

Несмотря на то что основной идеей Минского было указать коллегам на ошибки, чтобы стимулировать их на усовершенствование разработки, ситуация сложилась иначе. Розенблатт умер в 1971 году, и продолжать его дело оказалось некому. В этот период началась эпоха компьютеров, и эта сфера техники шла вперед огромными шагами. Лучшие умы в области математики и информатики были задействованы в этом секторе, а искусственный интеллект казался неразумным разбрасыванием сил и средств.

Нейросети не привлекали внимание научного сообщества больше десятилетия. Перелом произошел, когда в моду вошел киберпанк. Удалось обнаружить формулы, по которым можно с высокой точностью считать ошибки. В 1986 году проблема, сформулированная Минским, нашла уже третье решение (все три были разработаны независимыми друг от друга группами ученых), и именно его обнаружение подтолкнуло энтузиастов на освоение нового поля: работа над нейросетями снова активизировалась. Впрочем, термин перцептроны незаметно подменили на когнитивные вычисления, избавились от экспериментальных приборов, стали пользоваться кодированием, применяя самые эффективные методики программирования. Всего несколько лет, и нейроны уже собраны в сложные структуры, способные справляться с довольно серьезными задачами. Со временем удалось, к примеру, создать программы для чтения человеческого почерка. Появились первые сети, способные к самообучению, то есть самостоятельно находившие правильные ответы, без подсказки от управляющего компьютером человека. Нейросети нашли себе применение на практике. Например, именно на них построены опознающие на чеках числа программы, применяемые в банковских структурах в Америке.

Вперед семимильными шагами

В 90-х годах стало ясно, что ключевая особенность нейросетей, требующая особенного внимания ученых, это способность исследовать заданную область в поисках правильного решения без подсказки со стороны человека. Программа применяет метод проб, ошибок, на основании которых создаёт поведенческие правила.

Этот период ознаменовался всплеском интереса общественности к самодельным роботам. Конструкторы-энтузиасты из разных уголков планеты начали активно конструировать собственных роботов, способных к обучению. В 1997 году это показало первый действительно серьезный успех на мировом уровне: компьютер впервые обыграл самого лучшего шахматиста мира - Гарри Каспарова. Впрочем, к концу девяностых ученые пришли ко мнению, что достигли потолка, и искусственный интеллект дальше расти не может. Более того, хорошо оптимизированный алгоритм гораздо эффективнее любой нейронной сети решает те же задачи. Некоторые функции остались за нейросетями, например, опознавание архивных текстов, но ничего сложнее доступно не было. В основном, как говорят современные ученые, не хватало технических возможностей.

Наше время

Нейросети в наши дни - это способ решения самых сложных задач методом «решение найдется само». Фактически это не связано с какой-то научной революцией, просто современные ученые, светила мира программирования, имеют доступ к мощной технике, позволяющей реализовывать на практике то, что человек раньше мог только лишь вообразить себе в общих чертах. Возвращаясь к фразе Цицерона про обезьянок и жетоны: если к животным приставить того, кто будет давать им награду за правильную фразу, они не просто осмысленный текст создадут, но напишут новую «Войну и мир», причем не хуже.

Нейросети наших дней стоят на вооружении крупнейших компаний, работающих в области информационных технологий. Это многослойные нейронные сети, реализованные посредством мощных серверов, пользующиеся возможностями всемирной паутины, массивами информации, накопленными за последние десятилетия.

Все еще радуешься ярким картинкам и узнавалкам лиц? Есть плохая новость.

Все вокруг только и говорят, что о нейросетях: Prisma, MSQRD, AlphaGo… Все это кажется таким новым, невероятным, забавным. Но мало кто понимает, что такое нейронная сеть, каковы ее возможности и к чему широкое распространение таких решений приведет в достаточно скором будущем.

Как устроена искусственная нейросеть


Нейронная сеть представляет собой математическую модель, которую проще всего представить себе в виде слоистой структуры однотипных элементов.

Первый «слой» отвечает за получение входящей информации, а все последующие, которых могут быть десятки, за обработку все более и более абстрактных представлений этих данных, пока в конце концов эти представления не превращаются в некий выходной сигнал, который и является результатом работы всей системы.

Как работает нейросеть


Самой очевидной задачей для нейросети является распознавание изображений. Допустим, мы загрузили фотографию автомобиля. Говоря по-простому, элементы первого уровня в состоянии лишь отличить прямую линию от изогнутой, светлый элемент от темного.

Следующий слой на основе полученных «примитивов» пытается делать выводы о смысле тех или иных отдельных элементов картинки и так далее, пока последний слой элементов не «приходит к выводу», что на изображении автомобиль или нечто иное.

Самое интересное здесь то, что нейросеть не программируется привычным образом, а обучается на огромном количестве примеров - изображений котят, автомобилей, картин великих художников и бог знает, чего еще.

Делая поочередно то правильные, то неправильные выводы, она постепенно повышает процент «попаданий», пока он не достигает требуемого значения. Если нейросеть достаточно сложна, к этому моменту даже ее создатели и «тренеры» уже не в состоянии сказать, как именно она решила поставленную задачу. Классический «черный ящик» .

Почему нейросети «выстрелили» именно сейчас

Большая часть теоретических работ, легших в основу нейросетей, были написаны еще полвека назад, однако для практического применения этих идей не было необходимой почвы. В последние годы далеко вперед шагнула неврология, неплохо разобравшаяся в принципах работы зрительной коры мозга. А производительность компьютеров достигла уровня, необходимого для моделирования иерархических нейронных структур.

Очень кстати пришелся созданный в начале 2000-х метод «глубинного обучения» (Deep Learning ). Он позволил резко сократить время обучения нейросети.

Впрочем, все это так и осталось бы уделом высоколобых ученых из университетов, если бы однажды кому-то не пришло в голову запустить нейросеть «задом наперед».

Как работает Prisma, Google Deep Dream и прочие

Это очень упрощенное представление, но дело обстоит именно так. Предварительно обученной на том или ином наборе изображений нейронной сети «скармливают» фотографию не с целью ее распознать, а наоборот - с целью выявить и подчеркнуть на ней те элементы, которые система «помнит» после обучения. Многократное повторение этой операции и дает тот самый результат, который так понравился тебе в Prisma .

В зависимости от того, на картинах какого художника обучена система, фотография весьма эффектно подгоняется под его уникальный стиль. Да, это массовый продукт, лишенный какой-либо научной ценности. Мода на него пройдет так же быстро, как и на все остальное. Но нейросети останутся и будут все шире распространяться вокруг нас. Незаметно и стремительно.

Почему мы слышим только о картинках

Причин ровно две и обе банальны. Во-первых, именно фокусы с картинками привлекают к себе больше всего внимания. Некоторые слышали об AlphaGo , но с популярностью Prisma величайшему в мире игроку в го не сравниться. Решение сложных задач в области автоматизации как-то не попадают в сферу интересов массовой аудитории.

Во-вторых, именно в области изображений обучать нейронные сети проще всего - существуют поистине гигантские библиотеки тегированных изображений вроде ImageNet , на которых можно быстро обучить нейросеть любого назначения .

Что нам дают нейросети

Прелесть в том, что нейронную сеть можно обучить на любом наборе данных - надо лишь дать ей понять, какой результат ее работы будет считаться правильным. А значит, доверить ей можно чуть ли не любую задачу.

Далеко за примерами ходить не надо: недавно специалисты Яндекса поставили весьма показательный эксперимент, записав неофициальный музыкальный альбом, текст песен которого полностью создан нейросетью и стилизован под творчество Егора Летова и группы «Гражданская оборона».

Есть и более серьезные успехи. Впечатляющих результатов удалось достичь в области медицинской диагностики - нейросеть ставит диагнозы лучше врачей . Не будем углубляться в детали, достаточно загуглить «нейросеть медицинская диагностика». Голосовой поиск Google использует нейросети, и именно благодаря им удалось добиться резкого повышения качества работы сервиса. И это лишь начало длинного списка.

Что будет, если поставить нейросеть наблюдать за работой специалиста? Спустя какое-то время она будет способна выполнять те же действия, только лучше . И это не та автоматизация, к которой мы привыкли, когда болванка, лежащая не под нужным углом к камере, приводит робота в полную растерянность. Это будет концом целых профессий.

Куда мы катимся

Катимся мы примерно туда же, куда катился мир во времена Промышленной революции. Новые средства производства сделают ненужными миллионы рабочих мест. Начнется все с переводчиков (дайте только обучить нейросеть на достаточном объеме синхронизированных текстов), сотрудников колл-центров (распознавание речи и гибкие диалоговые скрипты), охранников (распознавание лиц и нетипичного поведения), водителей (да-да, те самые автопилоты) и так далее.

Со временем все больше профессий будут вовлекаться в воронку автоматизации. Надо быть очень самоуверенным человеком, чтобы полагать, будто это не коснется и тебя. Или нас.

Что нас тогда ждет? Вероятно, безусловный базовый доход , массовая безработица и ожидание, пока нейросети не разовьются настолько, чтобы полностью взять на себя заботу о своих некогда таких самостоятельных создателях.

  • Машинное обучение ,
  • Разработка под e-commerce
  • С момента описания первого искусственного нейрона Уорреном Мак-Каллоком и Уолтером Питтсом прошло более пятидесяти лет. С тех пор многое изменилось, и сегодня нейросетевые алгоритмы применяются повсеместно. И хотя нейронные сети способны на многое, исследователи при работе с ними сталкиваются с рядом трудностей: от переобучения до проблемы «черного ящика».

    Если термины «катастрофическая забывчивость» и «регуляризация весов» вам пока ни о чем не говорят, читайте дальше: попробуем разобраться во всем по порядку.

    За что мы любим нейросети

    Основное преимущество нейронных сетей перед другими методами машинного обучения состоит в том, что они могут распознавать более глубокие, иногда неожиданные закономерности в данных. В процессе обучения нейроны способны реагировать на полученную информацию в соответствии с принципами генерализации, тем самым решая поставленную перед ними задачу.

    К областям, где сети находят практическое применение уже сейчас, можно отнести медицину (например, очистка показаний приборов от шумов, анализ эффективности проведённого лечения), интернет (ассоциативный поиск информации), экономику (прогнозирование курсов валют, автоматический трейдинг), игры (например, го) и другие. Нейросети могут использоваться практически для чего угодно в силу своей универсальности. Однако волшебной таблеткой они не являются, и чтобы они начали функционировать должным образом, требуется проделать много предварительной работы.

    Обучение нейросетей 101

    Одним из ключевых элементов нейронной сети является способность обучаться. Нейронная сеть - это адаптивная система, умеющая изменять свою внутреннюю структуру на базе поступающей информации. Обычно такой эффект достигается с помощью корректировки значений весов .

    Связи между нейронами на соседних слоях нейросети - это числа, описывающие значимость сигнала между двумя нейронами. Если обученная нейронная сеть верно реагирует на входную информацию, то настраивать веса нет необходимости, а в противном случае с помощью какого-либо алгоритма обучения нужно изменить веса, улучшив результат.

    Как правило, это делают с помощью метода обратного распространения ошибки : для каждого из обучающих примеров веса корректируются так, чтобы уменьшить ошибку. Считается, что при правильно подобранной архитектуре и достаточном наборе обучающих данных сеть рано или поздно обучится.

    Существует несколько принципиально отличающихся подходов к обучению, в привязке к поставленной задаче. Первый - обучение с учителем . В этом случае входные данные представляют собой пары: объект и его характеристику. Такой подход применяется, например, в распознавании изображений: обучение проводится по размеченной базе из картинок и расставленных вручную меток того, что на них нарисовано.

    Самой известной из таких баз является ImageNet . При такой постановке задачи обучение мало чем отличается от, например, распознавания эмоций, которым занимается Neurodata Lab . Сети демонстрируются примеры, она делает предположение, и, в зависимости от его правильности, корректируются веса. Процесс повторяется до тех пор, пока точность не увеличивается до искомых величин.

    Второй вариант - обучение без учителя . Типичными задачами для него считаются кластеризация и некоторые постановки задачи поиска аномалий. При таком раскладе истинные метки обучающих данных нам недоступны, но есть необходимость в поиске закономерностей. Иногда схожий подход для предобучения сети в задаче обучения с учителем. Идея состоит в том, чтобы начальным приближением для весов было не случайное решение, а уже умеющее находить закономерности в данных.

    Ну и третий вариант - обучение с подкреплением - стратегия, построенная на наблюдениях. Представьте себе мышь, бегущую по лабиринту. Если она повернет налево, то получит кусочек сыра, а если направо - удар током. Со временем мышь учится поворачивать только налево. Нейронная сеть действует точно так же, подстраивая веса, если итоговый результат - «болезненный». Обучение с подкреплением активно применяется в робототехнике: «ударился ли робот в стену или остался невредим?». Все задачи, имеющие отношение к играм, в том числе самая известная из них - AlphaGo, основаны именно на обучении с подкреплением.

    Переобучение: в чем проблема и как ее решить

    Главная проблема нейросетей - переобучение. Оно заключается в том, что сеть «запоминает» ответы вместо того, чтобы улавливать закономерности в данных. Наука поспособствовала появлению на свет нескольких методов борьбы с переобучением: сюда относятся, например, регуляризация, нормализация батчей, наращивание данных и другие. Иногда переобученная модель характеризуется большими абсолютными значениями весов.
    Механизм этого явления примерно такой: исходные данные нередко сильно многомерны (одна точка из обучающей выборки изображается большим набором чисел), и вероятность того, что наугад взятая точка окажется неотличимой от выброса, будет тем больше, чем больше размерность. Вместо того, чтобы «вписывать» новую точку в имеющуюся модель, корректируя веса, нейросеть как будто придумывает сама себе исключение: эту точку мы классифицируем по одним правилам, а другие - по другим. И таких точек обычно много.

    Очевидный способ борьбы с такого рода переобучением – регуляризация весов . Она состоит либо в искусственном ограничении на значения весов, либо в добавлении штрафа в меру ошибки на этапе обучения. Такой подход не решает проблему полностью, но чаще всего улучшает результат.

    Второй способ основан на ограничении выходного сигнала, а не значений весов, - речь о нормализации батчей . На этапе обучения данные подаются нейросети пачками - батчами. Выходные значения для них могут быть какими угодно, и тем их абсолютные значения больше, чем выше значения весов. Если из каждого из них мы вычтем какое-то одно значение и поделим результат на другое, одинаково для всего батча, то мы сохраним качественные соотношения (максимальное, например, все равно останется максимальным), но выход будет более удобным для обработки его следующим слоем.

    Третий подход работает не всегда. Как уже говорилось, переобученная нейросеть воспринимает многие точки как аномальные, которые хочется обрабатывать отдельно. Идея состоит в наращивании обучающей выборки , чтобы точки были как будто той же природы, что и исходная выборка, но сгенерированы искусственно. Однако тут сразу рождается большое число сопутствующих проблем: подбор параметров для наращивания выборки, критическое увеличение времени обучения и прочие.


    Эффект от удаления аномального значения из тренировочного свода данных ()

    В обособленную проблему выделяется поиск настоящих аномалий в обучающей выборке. Иногда это даже рассматривают как отдельную задачу. Изображение выше демонстрирует эффект исключения аномального значения из набора. В случае нейронных сетей ситуация будет аналогичной. Правда, поиск и исключение таких значений - нетривиальная задача. Для этого применяются специальные техники - подробнее о них вы можете прочитать по ссылкам ( и ).

    Одна сеть – одна задача или «проблема катастрофической забывчивости»

    Работа в динамически изменяющихся средах (например, в финансовых) сложна для нейронных сетей. Даже если вам удалось успешно натренировать сеть, нет гарантий, что она не перестанет работать в будущем. Финансовые рынки постоянно трансформируются, поэтому то, что работало вчера, может с тем же успехом «сломаться» сегодня.

    Здесь исследователям или приходится тестировать разнообразные архитектуры сетей и выбирать из них лучшую, или использовать динамические нейронные сети. Последние «следят» за изменениями среды и подстраивают свою архитектуру в соответствии с ними. Одним из используемых в этом случае алгоритмов является метод MSO (multi-swarm optimization).

    Более того, нейросети обладают определенной особенностью, которую называют катастрофической забывчивостью (catastrophic forgetting). Она сводится к тому, что нейросеть нельзя последовательно обучить нескольким задачам - на каждой новой обучающей выборке все веса нейронов будут переписаны, и прошлый опыт будет «забыт».

    Безусловно, ученые трудятся над решением и этой проблемы. Разработчики из DeepMind недавно предложили способ борьбы с катастрофической забывчивостью, который заключается в том, что наиболее важные веса в нейронной сети при выполнении некой задачи А искусственно делаются более устойчивыми к изменению в процессе обучения на задаче Б.

    Новый подход получил название Elastic Weight Consolidation (упругое закрепление весов ) из-за аналогии с упругой пружинкой. Технически он реализуется следующим образом: каждому весу в нейронной сети присваивается параметр F, который определяет его значимость только в рамках определенной задачи. Чем больше F для конкретного нейрона, тем сложнее будет изменить его вес при обучении новой задаче. Это позволяет сети «запоминать» ключевые навыки. Технология уступила «узкоспециализированным» сетям в отдельных задачах, но показала себя с лучшей стороны по сумме всех этапов.

    Армированный черный ящик

    Еще одна сложность работы с нейронными сетями состоит в том, что ИНС фактически являются черными ящиками. Строго говоря, кроме результата, из нейросети не вытащишь ничего, даже статистические данные. При этом сложно понять, как сеть принимает решения. Единственный пример, где это не так - сверточные нейронные сети в задачах распознавания. В этом случае некоторые промежуточные слои имеют смысл карт признаков (одна связь показывает то, встретился ли какой-то простой шаблон в исходной картинке), поэтому возбуждение различных нейронов можно отследить.

    Разумеется, указанный нюанс делает достаточно сложным использование нейронных сетей в приложениях, когда ошибки критичны. Например, менеджеры фондов не могут понять, как нейронная сеть принимает решения. Это приводит к тому, что невозможно корректно оценить риски торговых стратегий. Аналогично банки, прибегающие к нейронным сетям для моделирования кредитных рисков, не смогут сказать, почему этот самый клиент имеет сейчас именно такой кредитный рейтинг.

    Поэтому разработчики нейросетей ищут способы обойти это ограничение. Например, работа ведется над так называемыми алгоритмами изъятия правил (), чтобы повысить прозрачность архитектур. Эти алгоритмы извлекают информацию из нейросетей либо в виде математических выражений и символьной логики, либо в виде деревьев решений.

    Нейронные сети - это лишь инструмент

    Само собой, искусственные нейронные сети активно помогают осваивать новые технологии и развивать существующие. Сегодня на пике популярности находится программирование беспилотных автомобилей, в которых нейросети в режиме реального времени анализируют окружающую обстановку. IBM Watson из года в год открывает для себя всё новые прикладные области, включая медицину . В Google существует целое подразделение , которое занимается непосредственно искусственным интеллектом.

    Вместе с тем порой нейронная есть - не лучший способ решить задачу. Например, сети «отстают » по таким направлениям, как создание изображений высокого разрешения, генерация человеческой речи и глубокий анализ видеопотоков. Работа с символами и рекурсивными структурами также даётся нейросистемам нелегко. Верно это и для вопросно-ответных систем.

    Изначально идея нейронных сетей заключалась в копировании и даже воссоздании механизмов функционирования мозга. Однако человечеству по-прежнему нужно разрешить проблему скорости работы нейронных сетей, разработать новые алгоритмы логического вывода. Существующие алгоритмы по меньшей мере в 10 раз уступают возможностям мозга, что неудовлетворительно во многих ситуациях.

    При этом ученые до сих пор не до конца определились , в каком направлении следует развивать нейросети. Индустрия старается как максимально приблизить нейросети к модели человеческого мозга, так и генерировать технологии и концептуальные схемы, абстрагируясь ото всех «аспектов человеческой природы». На сегодняшний день - это что-то вроде «открытого произведения» (если воспользоваться термином Умберто Эко), где практически любые опыты допустимы, а фантазии – приемлемы.

    Деятельность ученых и разработчиков, занимающихся нейросетями, требует глубокой подготовки, обширных знаний, использования нестандартных методик, поскольку нейросеть сама по себе - это не «серебряная пуля», способная решить любые проблемы и задачи без участия человека. Это комплексный инструмент, который в умелых руках может делать удивительные вещи. И у него еще всё впереди.

    Теги:

    • neurodata lab
    • нейронные сети
    • нейросети
    Добавить метки

    Конечно, Prisma уже далеко не единственные, и с тех пор у них появилось множество конкурентов. Facebook купили приложение MSQRD , которое добавляет анимированные «маски» к вашим видео. В отличие от Призмы здесь ставка сделана на распознавание лиц и наложение фильтров на них.

    SwiftKey и другие клавиатуры

    Большинство современных клавиатур для мобильников уже давно не используют пользовательские словари, такие как T9. Если вы набираете какую-то фразу, то наверняка здесь замешана нейросеть. Некоторые разработчики идут дальше. SwiftKey выпустили бета-версию клавиатуры, которая полностью основана на работе нейросети. Благодаря чему клавиатура не просто подставляет наиболее часто набираемые фразы, а основывается на контексте.

    Новая технология пока доступна для ограниченного количества языков и находится на стадии бета-версии. Но и публичная версия SwiftKey основывается на Больших данных. Например, пользовательские словари доступны всем, кто установил клавиатуру. Конечно, за исключением персональных данных.

    Snapchat и его фильтры - ещё одно из самых известных применений нейросетей. Если упростить сложное, то приложение использует компьютерное распознавание лиц для идентификации мимики и точек движения мускулов. А уже потом применяет к ним свои фильтры.

    Shazam и SoundHound

    Эти два популярных приложения распознают музыку, которая играет рядом с нами, а затем сверяет этот фрагмент со слепком в своей «библиотеке». Звучит достаточно просто, но для этого приложение использует нейросети. Здесь приходится решить несколько сложных задач, и даже ни сколько по поиску совпадений, а по очистке лишнего шума при распознавании.

    Google Ассистент и Siri

    Говорить только про Google Ассистент или Siri будет не совсем правильно. Представить современные сервисы Google и Apple невозможно без Big Data и нейросетей. Любая разработка от этих двух компаний, так или иначе, задействует нейросети. Автоподсказки при поиске, показ рекламы, очистка почты от спама и многое другое. И всё-таки самое явное для нас применение - это голосовые ассистенты. Смартфон распознаёт наш запрос и выполняет поставленную задачу в зависимости не только от контекста фразы, но и нашего местоположения.

    Carat

    Некоторые приложения, наоборот, нацелены на выполнение лишь одной задачи. Например, Carat на основе данных о вашем использовании смартфона (анализе расхода батареи) укажет на те приложения, которые больше всего расходуют заряд. Вы можете удалить или ограничить использование таких программ и помочь телефону «дожить» до розетки.

    Netflix, YouTube, Apple и Google Музыка... Все эти сервисы предлагают музыку и видео на основе ваших предпочтений. За последние пару лет этот тренд пошёл немного дальше и теперь нам предлагаются целые смарт-листы, которые подойдут под наш род занятий или время дня.

    Big Data и нейросети могут не только продавать нам рекламу, лечить наши болезни или управлять нашим разумом. Большинство разработок мы замечаем только тогда, когда они подаются нам в развлекательном формате или улучшают наши самые простые ежедневные задачи. Из-за чего мы часто забываем, что нейросеть - это не только моська котёнка у нас в телефоне.