Многие пользуются системами с искусственным интеллектом, даже не всегда осознавая это. О нейросетях всё чаще пишут в новостях. О них многое слышат, но не все понимают, что это такое. Разобрались, что такое нейросети, как они работают и зачем нужны.
Это статья из серии «ВыИИскали» о том, как работают нейросети и какую пользу могут принести каждому.
Что такое нейросеть
Предположим, вы разбирали балкон и нашли какие-то непонятные штуки.
Нужно решить, пригодится ли вам эта штука или её можно выбросить. Показываете друзьям — никто не знает, что это такое. Тогда вы заходите в интернет и пытаетесь описать, что нашли. Например: «плоская синяя штука, ширина 12 или 7 см, высота 10 см, сверху плоский держатель с маленькой дырочкой по центру».
«Яндекс» и Google выдают результат:
Друг подсказывает, что можно попробовать поискать похожий предмет через фото. Заходите в поиск Google по картинке, загружаете фотографию непонятных штук и получаете результат:
Вы заходите на любой из выданных Google сайтов и узнаёте, что это набор шпателей, которые нужны, чтобы заделывать мелкие вмятины, сколы и царапины.
Когда искали непонятную штуку по текстовому описанию, поисковая система работала по алгоритму: сверить слова из поисковой строки со словами на разных сайтах и выдать пользователю страницы, где больше всего таких слов. Поисковые системы работают значительно сложнее, они сверяют сотни параметров, но для примера упростим до такого описания.
Когда непонятную штуку искали по фотографии, система работала на основе нейросети: обрабатывала каждый пиксель фотографии, искала совпадения в базе из миллионов картинок. В результате пользователь получил изображения, которые максимально похожи на загруженное фото.
Алгоритм делает так, как ему сказали. Например, считает по формуле и выдаёт ответ, сколько получается.
Нейросеть «угадывает», что имел в виду человек, который дал ей задание.
Как работает нейросеть
Алгоритмы работают по строгим инструкциям и выдают предсказуемые результаты. Ему дают формулу, и он действует по принципу «нажми на кнопку — получишь результат».
Нейросеть может дать предсказуемый результат, как в примере с синим шпателем, или выдать творческий ответ. Например, нарисовать картину по текстовому описанию.
Нейросети сделали по образу того, как работают нейронные связи головного мозга. Например, когда ребёнок первый раз уколется об кактус, от пальца к головному мозгу побежит сигнал «зелёное с тонкими торчалками — это больно».
Когда ребёнок в следующий раз увидит что-то зелёное с тонкими отростками, он уже с опаской посмотрит на него. И задумается, прежде чем потрогать растение.
Сигнал от пальца к мозгу бежит по нервным клеткам, как ток по проводам. Связь «кактус — это больно» устанавливается за счёт того, что нервные импульсы запоминают информацию «этот раздражитель даёт такой результат». Раздражитель — это пусковой механизм, от которого начинается цепочка передачи информации. В данном случае раздражителем стала колючка, а точнее, прикосновение к ней пальца.
Когда ребёнок трогал колючку, он смотрел на кактус, и установилась ещё одна связь: «колючка выглядит так, и она делает больно». Раздражителем стал вид кактуса. Он передаст через глаза информацию в мозг: «это колючка, это больно». А мозг отдаст ответ: «Не трогай её».
Со временем этот ребёнок научится различать колючее и пушистое. В его мозгу будет лежать база данных: так выглядят растения с колючками и их трогать нельзя, а так — пушистые, их трогать можно.
Так же действует и нейросеть. Её обучают по принципу кнута и пряника, прежде чем запустить для общего пользования. Дают задание, система выдаёт множество результатов, люди их проверяют, говорят: «Ты права» или «Ты не права». Эти ответы нейросеть заносит в базу данных, разделяет их на «правильно» и «неправильно» и на этой основе учится понимать, что от неё хотят.
То есть, чтобы обучить нейросеть, ей дают вводные данные, которые она должна обработать, и результаты — то, что она должна выдать. Вводные данные в системе нейросети называются входным слоем. Результаты — выходным слоем.
Между этими двумя слоями есть скрытые. В скрытых слоях находятся алгоритмы. Каждый алгоритм можно сравнить с нервными клетками в центральной нервной системе человека. Каждый алгоритм-нейрон в одном слое связан с каждым алгоритмом-нейроном в другом. Если между двумя алгоритмами много схожего, устанавливается сильная связь, если мало — слабая.
По внутренним слоям система ищет, где связи самые сильные, и даёт в выходной слой ответ от самых сильных связей.
В общем виде работу нейросети можно нарисовать в виде схемы:
Кто обучает нейросети
Нейросети разрабатывают специалисты по машинному обучению, ML-engineer. Они закладывают данные в нейросеть, разрабатывают архитектуру, то есть как именно данные должны передаваться от слоя к слою и что должно получиться на выходе, дорабатывают систему, если она выдаёт неправильные результаты или её нужно усовершенствовать.
Принимать участие в обучении могут и люди без специального образования. Например, вы пополняете базу данных нейросети, когда по просьбе Google отмечаете все картинки со светофорами.
Также разработчики дают задания людям, которые хотят подработать. Например, в сервисе «Яндекс Толока» можно найти много заданий, где нужно выбрать картинки по какому-то признаку или ответить, соответствует ли аудиозапись написанному тексту.
Данные, полученные от заданий, как в примере выше, использует нейросеть. Она будет понимать, что, несмотря на то что на картинке лежит фотофильтр, она обрезана, перевёрнута или на ней стоит логотип, всё равно это одна и та же фотография. Пользователи, которые выполнили подобное задание, работали над выходным слоем. То есть над тем, чтобы нейросеть выдавала максимально точные результаты.
Когда в нейросети скапливается большая база данных, она начинает обучать сама себя. Алгоритмы на внутренних слоях анализируют, что система выдала неправильный результат, возвращают его из выходного слоя на внутренние слои, перерабатывают и снова выводят на выходной слой. Так до тех пор, пока алгоритмы не поймут, что выводят правильный результат.
Что умеет нейросеть
Нейросети условно классифицируют по тому, с какими данными и как работает система. Они умеют работать:
- с числовыми данными. Например, первый нейрокомпьютер, который придумали в 1958 году, умел распознавать написанные вручную буквы английского алфавита. Машина сканировала картинку, перерабатывала написанные знаки в числовые коды. На выходе выдавала результат — печатала то, что было написано рукой;
- с изображениями. Например, можно сфотографировать собаку и попросить нейросеть распознать породу. Или состарить лицо человека на фотографии;
- с информацией, которая меняется с течением времени. Голосовые помощники поддерживают беседу, анализируя реплику, которую они только что услышали. Так как они ориентируются только на последнюю сказанную фразу, в целом беседа получается не очень связной. Но ответ на конкретный вопрос может быть вполне логичным;
- с генерацией контента. Например, одними из самых популярных нейросетей на момент написания статьи стали ChatGPT и Midjourney. ChatGPT пишет статьи, школьные сочинения, сценарии на основе нескольких слов, которые задаёт пользователь. По похожему принципу работает T9 в телефоне.
Midjourney — пример нейросети, которая выдаёт непредсказуемый результат. Она рисует картинки на основе текстового описания. На одно и то же описание она выдаёт разные иллюстрации.
Где используют нейросети
Простые и сложные нейронные системы есть практически во всех сферах жизни. Их используют, например, чтобы ускорить или усовершенствовать работу компании, снять с людей выполнение рутинных задач. Несколько примеров:
- камера банкомата сканирует лицо человека, чтобы убедиться, что картой пользуется её владелец, а не мошенник;
- голосовые помощники кол-центров обрабатывают входящий звонок и отвечают на самые распространённые вопросы. Звонящие быстрее получают ответы на свои вопросы, а операторы-люди могут больше времени уделять клиентам, которым нужно решить более сложные вопросы;
- приложения с картами ориентируются в текущей ситуации на дороге и оперативно предлагают маршрут, по которому можно добраться быстрее до пункта назначения. Этим активно пользуются автолюбители, а также логистические компании, курьеры, службы доставки еды;
- нейросети в медицинских центрах обрабатывают рентгеновские снимки, результаты анализов и ультразвуковых исследований. Так врачи быстрее справляются с поступающей информацией о пациенте;
- приложениями, которые переводят речь в текст, пользуются журналисты, писатели;
- мебельные компании заносят в систему, какую мебель нужно погрузить в машину. Система выдаёт ответ, с каким кузовом нужна машина, чтобы всё поместилось.
Разработчики многому научили нейросети. Но, в отличие от человеческого мозга, машины продолжают работать в рамках поставленной задачи. Системе дали задание — обработать анализы пациента. Она обработала, но вылечить человека не сможет. Этим уже занимается врач.
Основное, что нужно знать о нейросетях
- Нейросети появились как альтернатива алгоритмам.
- Нейросеть может выдавать и предсказуемый, и творческий результат. Алгоритм — только предсказуемый.
- Нейросистемы обучают. То есть дают не только вводные данные, но и ответы. Во время обучения нейросеть даёт ответ, а ей отвечают, насколько точно она это сделала.
- Разработкой нейросистем занимаются специалисты по машинному обучению, ML-engineer. Нейросеть обучают люди. Многие нейросистемы обучают сами себя.
- Нейросети в основном используют, чтобы усовершенствовать работу человека или снять рутинные задачи.
- Нейросистемы пока не могут полноценно заменить человека, так как человек всё равно мыслит гораздо шире.