В Югре, Техно

Нейросеть: друг или враг?

От:

Всякий раз, когда я читаю последние новости науки и техники, поражаюсь мысли – то, что всего лишь 5-10 лет назад мне казалось несбыточной кинофантастикой, сегодня уже можно испытывать, причем самостоятельно. VR-шлемы, нейросети, независимые электронные валюты – об этом говорили и раньше, были единичные прототипы, но о практическом их применении в научных статьях обычно писали: «В будущем эта технология может найти применение…» И вот, нашла! Теперь искусственный интеллект – это не просто теоретическая концепция, зреющая в головах ученых – теперь это повод для жесткой конкуренции мировых корпораций. А конкуренция, как известно, – основной двигатель прогресса.


Мечты сбываются?

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

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

Первые шаги

Тема нейронных сетей вновь потрясла мир в июле 2015-го, когда Google запустила в массовое пользование свой сервис Google Deep Dream. Годом раньше их разработка выиграла ImageNet recognition challenge – крупный конкурс по алгоритмам распознавания объектов и сцен. Компания Google в очередной раз смогла продвинуть давно позабытые идеи из научного мира в сегмент поп-культуры – стоило лишь сделать психоделический алгоритм обработки фотографий общедоступным. Тут же многие пользователи стали обрабатывать при помощи сервиса мемы, свои фотографии и вообще все, что в голову взбредет. Вместе с тем, многим из них стало интересно, как это работает.

Изображение полученное при помощие сервиса Google Deep Dream

Основная проблема нейросетей – технологическое ограничение на количество синапсов. Нейронные сети, которые использует, к примеру, Google, очень узконаправлены. Каждую новую нейросеть всегда «затачивают» под одну конкретную функцию – подбор подходящих видео на Youtube или обработку изображений. Стоит попытаться обучить сеть делать обе функции – и она просто запутается.

Еще одно решение проблемы – увеличить плотность самих нейронов, чтобы сделать искусственный интеллект (ИИ) умнее. Оно было предложено учеными из Саутгемптонского университета. Для увеличения плотности нейросети они предлагают использовать мемристоры – вид резисторов, имеющий свойство энергонезависимой памяти. Именно этот элемент на сегодняшний день лучше всего имитирует поведение синапсов в человеческом мозге. Пример практической реализации идеи мемристоров – проект The Machine от исследовательского подразделения HP Labs. The Machine – новая архитектура сверхбыстрых компьютеров на мемристорах с использованием оптических проводников вместо медных. Мемристорами будет оснащена и оперативная память – это позволит упростить схему платы и отказаться от множества ненужных элементов. По оценкам HP Labs, информационная плотность мемристорной памяти будет настолько высокой, что огромный дата-центр можно будет уменьшить до размеров нескольких серверных стоек. Представьте себе, насколько можно уменьшить нейронную сеть и сколько нейронов наслоить. Казалось бы, тут уже и до настоящего искусственного разума недалеко.

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

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

Да и настолько ли нам это нужно? Сегодняшние узконаправленные нейронные сети уже заняли свою нишу. С остальным прекрасно справляются традиционные программируемые системы. И даже эти решения имеют большие перспективы.

Ставший многим из нас привычным «Голосовой помощник Google» использует нейросети для распознавания голоса. И это не так просто, как может показаться на первый взгляд. Пока человек представляет в голове образы сказанного его собеседником и придумывает ответ, машина видит лишь звуковую волну, разделенную на микроучастки. Аудиозапись с голосом направляется прямиком на серверы Google, где нейронная сеть делит ее на паттерны размером с доли секунд (их от тысяч до десятков тысяч и более), проводя анализ каждого из них. На основе этого она предсказывает с некой долей вероятности, какая именно буква произносится в определенный момент, и какая будет произнесена следующей. Оценка вероятностей – в этом сильная сторона нейросети, и в работе с голосом она реализуется с лихвой. Попутно сеть различает сам голос, его тембр, отделяет от шума, а затем, переведя тысячи голосовых паттернов фразы из нескольких слов в оцифрованный текст, она начинает думать, что именно имел в виду человек, что из сказанного есть поисковой запрос, а что – просьба его выполнить. Затем нейросеть думает над лучшим вариантом исполнения запроса, анализирует предыдущие запросы, чтобы логически связать их. После система выполняет запрос и отправляет нужные команды приложению на смартфоне. И все это за доли секунды!

Многие знакомые нам сервисы построены по принципу работы нейронных сетей, хоть нейросети напрямую и не используют. Так, к примеру, работает программа оптического распознавания текста ABBYY FineReader. Та самая, которой мы считываем текст с помощью сканера, переводя бумажный вариант в электронный формат. Несмотря на простоту использования и небольшой вес программы, в ее недрах скрываются очень сложные алгоритмы, которые разрабатываются уже более 10 лет. При распознавании скана листа печатного текста программа сначала переводит его в бинарный формат (делает изображение контрастным черно-белым), чтобы различить символы на белом фоне – тут она подбирает такой уровень контраста, при котором рядом с буквами не будет видно искажений, допущенных при сжатии изображения (пятен, полосок и т.д.). Затем, при помощи сложных математических вычислений, алгоритм распознает пробелы между символами и между словами. Все поле листа много раз делится на все меньшие области – от абзацев на предложения, затем на слова, символы и, наконец, на их элементы – черточки, палочки, кольца, засечки. Они и распознаются – в точности так же, как это делают нейроны в нейросети. Для каждого символа, вне зависимости от шрифта, существуют характерные именно для него элементы и их сочетания. Это и учитывает программа, когда распознает буквы по вероятности нахождения у них определенных комбинаций – Г-образного штриха и полуовала у «Б», овала у «О», двух диагональных штрихов и нижнего выносного элемента у «У». Далее программа «прогоняет» по словарю каждое из найденных слов, затем оценивает по сложной модели вариантов написания, давая каждому слову «штрафы» или «бонусные очки» в зависимости от соответствия слова этим моделям. Помимо этого, FineReader учитывает еще множество специ-фических особенностей, описание которых потребует отдельной серии статей. После всех манипуляций в течение нескольких секунд мы получаем готовый doc-файл. Кто бы мог подумать, что бытовая программа может оказаться такой сложной?

Наконец, переводчик Google в скором времени перейдет на нейронные сети. Все мы знаем, как «хорошо» он переводит тексты сейчас, эта его способность переводить адекватный текст в полную несуразицу стала уже отдельным мемом. Однако Google утверждает – скоро с этим будет покончено. Новая система GMNT (Google’s Neural Machine Translation) способна дать «человечный» перевод на основе глубокого анализа, с учетом подтекста, жаргонизмов и прочего. Как же работает новая система? Она состоит сразу из двух восьмислойных нейронных «полушарий» – модуля анализа и синтезирующего модуля, между которыми расположен модуль внимания, который следит за особо редкими словами текста, которые могут игнорироваться. Модуль анализа читает текст в двух направлениях – с начала и с конца – и передает результат работы синтезирующему модулю, который делит текст на слова, а слова – на части («wordpieces»), которые и анализирует.

Стоит ли им доверять?

Нейронные сети уже вошли в нашу жизнь и вряд ли выйдут – к хорошему быстро привыкаешь. Пока что их влияние мы можем ощутить по большей части в развлекательной сфере – сделать селфи в стиле картин маслом через Prisma, найти понравившегося на улице человека по фотографии через Findface, слушать альбомы и смотреть трейлеры, созданные искусственным интеллектом. Но не за горами и начало внедрения нейросетей в серьезные области, связанные со здравоохранением (распознавание заболеваний по снимкам сетчатки Google Deepmind; ИИ, прогнозирующий рак и подбирающий лекарства, от Microsoft), экономикой (проект iPavlov в Сбербанке), автопилот (последняя модель Tesla на Nvidia Drive PX 2). Нужно ли нам подпускать так близко того, о ком мы еще так мало знаем?

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

Текст: Игорь Круз

Поделиться в соц. сетях

Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники

Добавить комментарий