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

ПродвинутыйИскусственный интеллект
ПродвинутыйИскусственный интеллект

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

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

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

Чем нейросеть отличается от ИИ и МО?

Искусственный интеллект — это обширная отрасль компьютерных наук, сосредоточенная на создании умных машин, способных выполнять интеллектуальные задачи.

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

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

Из чего состоит нейросеть?

Подобная естественному аналогу искусственная нейросеть состоит из нейронов и синапсов.

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

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

Основные типы нейронов:

  • входной (input) — слой нейронов, получающий информацию;
  • скрытый (hidden) — некоторое количество слоев, обрабатывающих информацию;
  • выходной (output) — слой нейронов, представляющий результаты вычислений.

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

Параметром синапса является вес — коэффициент, из-за которого передаваемая информация из одного нейрона другому может изменяться.

Важную роль в архитектуре нейросети играет активатор. Как и в мозге живого организма, он решает, какие сигналы пропускать через нейроны, а какие нет. 

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

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

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

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

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

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

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

На схеме активированные нейроны заштрихованы красным. В «Скрытом слое 1» они означают, что изображение рукописной фигуры содержит определенную комбинацию пикселей, напоминающих горизонтальную линию вверху рукописного числа 3 или 7.

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

Как нейросеть обучается?

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

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

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

Что такое набор данных?

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

Датасеты бывают трех видов:

  • тренировочный (training dataset) — используется при обучении нейросети;
  • тестовый (test dataset) — необходим для проверки точности обучения;
  • валидационный (validation dataset) — независимый набор данных, использующийся для финальной оценки точности алгоритма.

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

Например, в апреле 2021 года специалисты Массачусетского технологического института выяснили, что популярные датасеты содержат множество ошибок. Так, в популярных наборах данных для тестовых проверок точности алгоритмов содержатся изображения, на которых гриб может быть подписан как ложка, лягушка — кошкой, а высокая нота Арианы Гранде в аудиофайле отмечена как свист.

Другое исследование MIT показало, что безответственность работников краудсорсингового маркетплейса Amazon Mechanical Turk препятствуют развитию систем генерации текстов. Дело в том, что им платят за единицу размеченной информации. Как правило, такие работники стараются работать быстро и не особо вникая в достоверность разметки.

Чтобы не допустить такого, исследователи призывают разработчиков соблюдать «гигиену» данных.

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

Где используются нейросети?

Нейросети используют для решения многих задач: распознавания и генерации изображений, речи и языка, а также в сочетании с обучением с подкреплением — в играх, от настольных типа го, заканчивая компьютерными Dota 2 или Quake III.

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

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

Помимо этого, подобные системы начинают находить применение практически во всех отраслях, включая:

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

Какие трудности/недостатки у нейросетей?

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

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

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

Какие типы нейросетей бывают?

Всего известно около 30 различных типов нейронных сетей, которые подходят для разных типов задач. Например, сверточные нейронные сети (CNN) обычно используются для задач компьютерного зрения, в то время как рекуррентные нейронные сети (RNN) — для обработки языка.

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

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

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

Генеративные состязательные сети (GAN) состоят сразу из двух нейросетей: генератора, который создает контент, и дискриминатора, оценивающего его.

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

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

Типичное применение GAN-архитектур — стилизация фотографий, создание дипфейков, генерирование аудиофайлов и прочее.

Приведет ли нейросеть к созданию общего ИИ?

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

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

Подписывайтесь на новости ForkLog в Telegram: ForkLog AI — все новости из мира ИИ!

Подписывайтесь на ForkLog в социальных сетях

Telegram (основной канал) Discord Instagram
Нашли ошибку в тексте? Выделите ее и нажмите CTRL+ENTER

Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!

*Ежедневная рассылка — краткая сводка наиболее важных новостей предыдущего дня. Чтение занимает не больше двух минут. Выходит в рабочие дни в 06:00 (UTC)
*Еженедельная рассылка — объясняем, кто и как изменил индустрию за неделю. Идеально подходит для тех, кто не успевает за новостным потоком в течение дня. Выходит в пятницу в 16:00 (UTC).

Мы используем файлы cookie для улучшения качества работы.

Пользуясь сайтом, вы соглашаетесь с Политикой приватности.

OK
Exit mobile version