Графовые нейросети: мимолетный тренд или за ними будущее
Графовые нейронные сети активно применяются в машинном обучении на графах для решения локальных (классификация вершин, предсказание связей) и глобальных (схожесть графов, классификация графов) задач. Локальные методы имеют много примеров применения в обработке текстов, компьютерном зрении и рекомендательных системах. Глобальные методы, в свою очередь, применяются в аппроксимации задач, эффективно не решаемых на современных компьютерах (за исключением квантового компьютера будущего), и используются на стыке компьютерных и естественных наук для предсказания новых свойств и веществ (это актуально, например, при создании новых лекарственных препаратов).
Пика популярности графовые нейросети достигли в 2018 году, когда они стали использоваться и показали высокую эффективность в различных приложениях. Самый известный пример – модель PinSage в рекомендательной системе сервиса . С тех пор находится все больше новых применений технологии в областях, где раньше существующие методы были не способны эффективно учитывать в моделях связи между объектами.
Что такое машинное обучение?
Машинное обучение тесно связано с нейросетями
Нейронные сети являются примером машинного обучения, но они не являются единственным способом обучения компьютера.
Например, один из альтернативных методов машинного обучения называется обучение с подкреплением. В этом методе компьютер выполняет задачу и затем оценивает ее результат. Если, например, компьютер побеждает в шахматы, то он присваивает выигрышное значение серии ходов, которые использует во время игры. Сыграв миллионы игр, система может определить, какие шаги, скорее всего, приведут к победе, основываясь на результатах предыдущих игр.
В то время как нейронные сети хороши для таких вещей, как распознавание образов на изображениях, другие типы машинного обучения могут быть более полезными для различных задач вроде определения вашей любимой музыки. Google утверждает, что его музыкальное приложение найдет вам музыку, которую вы захотите послушать. Он делает это за счет анализа ваших предыдущих списков проигрывания. Если вам не понравится результат, машина расценит его как неудачу. Но если вы выберете один из предложенных списков, она пометит это как успех и проанализирует победоносные ходы, которые привели ее к вашему сердцу.
В подобных случаях вы не получите полную выгоду от машинного обучения, если не будете часто использовать эту функцию. Когда вы откроете музыкальное приложение Google впервые, рекомендации будут, скорее всего, мимо кассы. Но чем больше вы будете его использовать, тем лучше будут предложения. В теории, по крайней мере. Машинное обучение тоже не панацея. Машинное обучение более расплывчатое понятие, чем нейронные сети, но из него также следует, что программное обеспечение, которое вы используете, будет опираться на ваши отзывы, чтобы улучшать свою производительность.
Как использовать нейросети
В мире созданы нейронные сети, способные рисовать картины в любом существующем художественном стиле, уверенно обыгрывать чемпиона мира в самую сложную логическую игру на планете, записывать музыкальные альбомы и подражать поведению человека в электронной переписке. Всё перечисленное – пока лишь демонстрация части возможностей технологии, реальное применение которой как в бизнесе, так и в быту, мы увидим в ближайшем будущем.
Другими словами, нейронные сети позволят не только и не столько заменить человеческий труд в более сложных трудовых активностях, сколько стать полезным инструментом для специалистов и управленцев множества областей.
Несовершенная наука и скандал с гориллами
Как и все «умное», нейронные сети могут и ошибаются. Только в этом месяце приложение Google Photos ошибочно пометило двух чернокожих людей на фотографии как «горилл». Новый разумный механизм распознавания изображений Flickr, работающий на нейронной сети Yahoo, тоже пометил чернокожего человека как «обезьяну». Конечно, ничто не идеально. Google быстро поправила проблему, просто убрав метку «горилла» из Photos; в дальнейшем, без сомнений, сеть будут учить жестче.
Конечно, технологию на старте легко обвести вокруг пальца. Обмануть нейронную сеть довольно просто. Снимки ниже, например, могут довольно легко обмануть нейронные сети — те подумают, что видят пингвинов, мячи и пульты дистанционного управления, хотя человек увидит на них лишь абстрактные узоры, хотя и созданные на основе реальных объектов.
И конечно, нейронные сети не имеют встроенного чувства приличия и осторожности, которые имеются у людей. Как ребенок, выбалтывающий любую информацию у него на уме, нейронные сети с нетерпением выдают свое лучшее предположение в надежде, что оно будет правильным, даже если не уверены на все 100%
И как человек может сомневаться в таких случаях, возможно, нейронная сеть научится делать то же самое.
Скандал с гориллами родился как отражение человеческого мира. В интервью Wall Street Journal эксперт в области искусственного интеллекта Вивьен Мин отметила, что виноваты, скорее всего, обучающие сеты Google. Фотографии в Интернете отражают в большинстве белый мир, поэтому неудивительно, что нейронная сеть не получила должного опыта для идентификации черных людей.
Устройство нейрона
Нейросети встречаются в природе в виде нервной системы того или иного существа. В зависимости от выполняемой функции и расположения, они делятся на различные отделы и органы, такие как головной мозг, спинной мозг, различные проводящие структуры. Но все их объединяет одно — они состоят из связанных между собой структурно-функциональных единиц — клеток нейронов.
Нейрон условно можно разделить на три части: тело нейрона, и его отростки — дендриты и аксон.
Дендриты нейрона создают дендритное дерево, размер которого зависит от числа контактов с другими нейронами. Это своего рода входные каналы нервной клетки. Именно с их помощью нейрон получает сигналы от других нейронов.
Тело нейрона в природе, достаточно сложная штука, но именно в нем все сигналы, поступившие через дендриты объединяются, обрабатываются, и принимается решение о том передавать ли сигнал далее, и какой силы он должен быть.
Аксон — это выходной интерфейс нейрона. Он крепится так называемыми синапсами к дендриту другого нейрона, и по нему сигнал, выходящий из тела нейрона, поступает к следующей клетке нашей нейросети.
Перспективы для бизнеса
По данным исследования НИУ ВШЭ и РАЭК при поддержке Майкрософт, самые популярные сферы коммерческого применения нейронных сетей в России – таргетированная реклама и онлайн-маркетинг, виртуальные помощники, прогнозный анализ, а также машинное обучение под специфические нужды компании.
Типичные задачи, для которых российские компании применяют ИИ, уже включают:
• кластерный анализ в маркетинге;
• увеличение среднего чека;
• классификация обращений в техподдержку;
• распознавание отметок в бюллетенях и формах для переноса в электронную базу данных;
• персонализация контента;
• планирование материальных, финансовых и человеческих ресурсов;
• прогноз поведения заказчика на основе предыдущего опыта;
• прогноз срока изготовления и времени доставки заказа.
К основным препятствиям к расширению сферы использования ИИ в России исследование относит сложности со сбором и анализом данных, недостаток квалифицированных специалистов и устаревшие бизнес-модели.
При этом исследование показывает высокий уровень интереса и доверия руководителей крупных российских компаний, и открытость к внедрению ИИ в повседневные рабочие процессы.
Разработка собственного ИИ пока еще обходится слишком дорого: нужны опытные программисты, огромные объемы данных для машинного обучения, серьезные вычислительные мощности. Однако существуют инструменты, которые можно освоить без глубоких знаний в области программирования и математики – от Microsoft Azure ML Studio и Google Cloud Atom ML до бесплатных платформ.
Внедрение ИИ, несмотря на сложности и стоимость, окупается быстро – везде, где требуется интеллектуальная обработка больших массивов информации и анализ поведения пользователей.
Крупные компании экономят с помощью нейронных сетей миллиарды: ожидается, что вклад ИИ в мировой ВВП к 2030 достигнет $15,7 трлн. Российские разработки значительно отстают от мировых, но стабильно растущий рынок для внедрения простых нейронных решений уже есть.
Го: следующий большой успех искусственного интеллекта
Как и в игре в шахматы ни один человек не может рассчитать вперед все комбинации ходов, то же касается и машин: количество соответствующих правилам позиций составляет более чем 2 на 10 в 170 степени. И это немало. Число атомов во всей Вселенной оценивается как 10 в 80 степени.
Можно было бы заменить каждый отдельный атом во всей Вселенной новой вселенной с количеством атомов, составляющим 10 в 80 степени, и все равно их число не достигло бы количества разрешенных позиций в го. Кстати, число соответствующих правилам комбинаций ходов составляет около 10 в 360 степени.
Хороший стратег в го не может полагаться только на комбинационные и математические способности. Ему нужна интуиция, опыт, проницательность, креативность, а также хладнокровие при работе над ошибками. В этом отношении го представляет собой бастион человеческого интеллекта, требующий большего, чем просто применение всех или очень многих теоретических возможностей.
До сих пор настольная игра го считалась недоступной для искусственного интеллекта. Полной неожиданностью было заявление DeepMind о победе ее программы AlphaGo над профессионалом Фанем Хуэем. Теперь AlphaGo побеждает лучшего в мире игрока — Ли Седоля.
То есть, чтобы по-настоящему овладеть игрой, искусственный интеллект должен идти другим путем. И компания DeepMind его нашла. Со своей программой AlphaGo дочерняя компания Google, занимающаяся искусственным интеллектом, пять раз обыграла троекратного чемпиона Европы по игре в го Фаня Хуэя в пяти играх. Была еще вторая неофициальная серия с более коротким временем на размышление; в этой серии из пяти игр победила AlphaGo со счетом 3:2.
В некотором отношении этот триумф имеет большее значение, чем победа суперкомпьютера Deep Blue над чемпионом мира по шахматам Гарри Каспаровым двадцать лет назад, что объяснялось, прежде всего, чистой вычислительной мощностью и обширными игровыми библиотеками. Лучше сравнить AlphaGo с TDgammon — нейронной сетью, которая еще в 1994 году без учителя научилась играть в нарды на уровне мирового чемпиона среди людей.
Проблемы нейросетей
(data set — «набор данных». — Прим. T&P). Однажды китайская система распознавания нарушений выписала штраф за переход в неположенном месте женщине, которая на самом деле была лишь рекламой на автобусе, переезжавшем пешеходный переход. Это значит, что для обучения нейросети использовался неправильный датасет. Нужны были объекты в контексте, чтобы нейросеть научилась отличать настоящих женщин от рекламных изображений.
Другой пример: было соревнование по детекции рака легких. Одно сообщество выпустило датасет с тысячью снимками и разметило на них рак в соответствии с точкой зрения трех разных экспертов (но только в тех случаях, когда их мнения совпадали). На таком датасете можно было обучиться. А вот другая контора решила попиариться и выпустила новость, что использовала в работе несколько сотен тысяч рентгенов. Но оказалось, что больных там было только 20%. А ведь именно они являются для нас важными, ведь если нейросеть будет учиться без них, то не распознает заболевание. Более того, в эти 20% вошли несколько категорий заболеваний с разными подтипами болезней. И выяснилось, что так как это не 3D-картинка, а двухмерное изображение, то сделать с таким датасетом ничего нельзя.
Важно включать в датасет реальную информацию. Иначе придется штрафовать людей, наклеенных на автобусы.
Нейросети не знают, что предлагать в отсутствие информации и когда остановиться. Например, если вы завели себе новый почтовый аккаунт и нейросеть еще ничего о вас не знает, то в почте у вас первое время будет реклама, не имеющая лично к вам никакого отношения. А если вы искали в интернете диван и купили его, вам все равно еще долго будут рекламировать диваны, потому что нейросеть не в курсе, что вы уже совершили покупку. Чат-бот, полюбивший Гитлера, просто смотрел, что делают люди, и пытался мимикрировать. Имейте в виду: вы каждый день производите контент, и он может быть использован против вас.
Во Флоренции есть художник, который клеит веселые стикеры на дорожные знаки, чтобы разнообразить будничную жизнь людей. Но подобных знаков в обучающей выборке для беспилотных автомобилей, скорее всего, не будет. И если выпустить машину в такой мир, она просто собьет нескольких пешеходов и остановится:
Таким образом, чтобы нейросети работали круто, нужно не рассказывать о них громкие новости, а учить математику и пользоваться тем, что есть в открытом доступе.
Открытый код
Как и кем реализуются приложения машинного обучения? Смелые заявления в интернете о том, что какая-то компания написала очередное приложение, которое «все распознало», не соответствуют действительности. Есть лидеры рынка, которые разрабатывают инструменты и выкладывают их в открытый доступ, чтобы все люди могли писать код, предлагать изменения, двигать отрасль. Есть «хорошие парни», которые тоже делятся некоторой частью кода. Но есть и «плохие парни», с которыми лучше не связываться, потому что они не разрабатывают собственные алгоритмы, а пользуются тем, что написали «хорошие парни», делают из их разработок собственных «франкенштейнов» и пытаются продавать.
Примеры использования data science в нефтяной отрасли
Чтобы понять, есть ли в земле нефть, специалисты производят серию взрывов и записывают сигнал, чтобы затем посмотреть, как колебания проходят через землю. Но поверхностная волна искажает общую картину, забивает сигнал из недр, поэтому результат надо «почистить». Специалисты-сейсмики делают это в специальных программах, причем они не могут использовать каждый раз один и тот же фильтр или набор фильтров: чтобы найти искомую комбинацию, они каждый раз подбирают новую комбинацию фильтров. На примере их работы мы можем научить нейросеть делать то же самое:
Правда, выясняется, что сеть удаляет не только поверхностные шумы, но и полезный сигнал
Поэтому мы добавляем новое условие: просим чистить только тот участок сигнала, с которым работают сейсмики, — это называется «нейросеть с вниманием»
Это задача сегментации. Есть фотографии керна — пород, вытащенных из скважины. Специалисту вручную нужно разобрать, какие пласты там находятся. Человек тратит на это недели и месяцы, а обученная нейросеть — до часа. Чем больше мы ее учим, тем лучше она работает: