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

0
13

С учителем и без него: как обучаются нейросети

Какую роль играет искусственный нейрон?

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

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

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

Пусть у нас уже есть нейронная сеть, но ведь ее ответы являются случайными, то есть наша нейросеть не обучена. Сейчас она способна лишь по входному вектору input выдавать случайный ответ, но нам нужны ответы, которые удовлетворяют конкретной поставленной задаче. Дабы этого достичь, сеть надо обучить. Здесь потребуется база тренировочных примеров и множество пар X — Y, на которых и будет происходить обучение, причем с использованием известного алгоритма обратного распространения ошибки.

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

Например, американский академик Эрик Бриньолфссон, изучающий производительность труда, указывает на то, что новые технологии начинают применяться не сразу после изобретения, процесс их внедрения может занимать от 15 до 20 лет. Этого времени достаточно, чтобы люди адаптировались. Например, первый массовый персональный компьютер был выпущен IBM в 1981 году, но повсеместно его стали использовать только с середины 1990-х годов.

Метод обучения с учителем ( supervised learning) аналогичен получению знаний в школе, где нейросеть выступает в качестве ученика, а человек — в роли преподавателя. Роль учителя заключается в том, чтобы подать на вход модели исходные данные и их «расшифровку » . По аналогии с математическими задачами это будет «вопрос » и «правильный «ответ » (метка). Например, при обучении задаче классификации изображений каждой отдельной картинке будет присвоена метка, означающая класс изображения (например, кошка или собака на фото). Так происходит настройка параметров для минимизации ошибок между собственными предположениями и « правильными ответами» (метками). Сопоставляя их из раза в раз, нейронная сеть б удет самос тоятельно обучаться отвечать и на последующие запросы правильно уже без помощи человека.

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

Без учителя

Только ленивый не слышал сегодня о существовании и разработке нейронных сетей и такой сфере, как машинное обучение. Для некоторых создание нейросети кажется чем-то очень запутанным, однако на самом деле они создаются не так уж и сложно. Как же их делают? Давайте попробуем самостоятельно создать нейросеть прямого распространения, которую еще называют многослойным перцептроном. В процессе работы будем использовать лишь циклы, массивы и условные операторы. Что означает этот набор данных? Только то, что нам подойдет любой язык программирования, поддерживающий вышеперечисленные возможности. Если же у языка есть библиотеки для векторных и матричных вычислений (вспоминаем NumPy в Python), то реализация с их помощью займет совсем немного времени. Но мы не ищем легких путей и воспользуемся C#, причем полученный код по своей сути будет почти аналогичным и для прочих языков программирования.

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

ЧИТАТЬ ТАКЖЕ:  Стратегия совершенства как добиться успеха в эпоху перемен и искусственного интеллекта том питерс

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

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

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

Даже самые лучшие системы искусственного интеллекта, к сожалению, тратят очень много энергии. Если человеческий мозг совершает 1,5×10¹⁸ операций в секунду и потребляет всего 25 Вт в день, то современная видеокарта может выполнить только 1013 операций в секунду и потребляет около 250 Вт. Чтобы достичь мощности человеческого мозга, пришлось бы подключить сотню тысяч таких видеокарт к гигантскому компьютеру, потребляющему не менее 25 мегаватт. Это в миллион раз превышает потребности человеческого мозга.

Переходим к обучению

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

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

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

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

Специалисты Института трансляционной аналитики данных (TDAI) в Университете штата Огайо разработали платформу Wildbook, которая помогает исследователям и защитникам природы находить и сохранять редкие виды животных. Чтобы это стало возможным, ученые обучили нейронные сети распознавать изображения тех, кому угрожает опасность. Машина видит фотографию кита, косатки или леопарда и узнает животное, опираясь на текстуру и окраску его шерсти, линию плавника или хвоста. Система обучается с помощью образцов, помеченных вручную.

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

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

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

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь