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

0
17

Что такое нейросеть: как устроен человеческий мозг «в цифре»

Автоматическая генерация контента

Эти «веса» помогают определить важность той или иной переменной во входных данных. При прохождении каждого слоя входные данные умножаются на их «веса», а затем суммируются. Если получившееся значение выше заданного порога, то нейрон активируется и передает данные на следующий уровень.

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

Из архитектуры и режима работы нейросети следует несколько особенностей, ключевых для понимания направления. Нейросети закрыты. Мы не можем сказать, по каким критериям программа «решает», что на картинке изображен человек или что текст является стихотворением. Все это происходит автоматически; задача разработчика — правильно описать структуру и задать формулы. Примерно так же мы не можем достоверно сказать, что именно происходит в человеческом мозгу, почему он понимает, что собака — это собака, даже если впервые видит незнакомую породу. Если у собаки не будет хвоста, она окажется бесшерстной или покрашенной в неестественный цвет, мы все равно определим ее как собаку — по ряду характеристик, которые до конца не осознаем сами. Нейроны в сетях независимы. Каждый нейрон никак не связан с процессом работы других. Да, они получают друг от друга информацию, но их внутренняя деятельность не зависит от других элементов. Поэтому даже если один нейрон выйдет из строя, другой продолжит работать — это важно в вопросе отказоустойчивости. Подобная устойчивость свойственна и биологическим нейронным сетям, которые продолжают работать, даже если оказываются повреждены. Но у независимости есть и недостаток: из-за нее решения оказываются многоступенчатыми и порой хаотичными, их сложно предсказать и повлиять на них. Нейросети очень гибкие. Так как нейроны сами подбирают критерии и не зависят друг от друга, нейросети более гибкие, чем другие модели машинного обучения. Их архитектура унаследовала важные свойства биологической нервной системы: способность самообучаться и приспосабливаться к новым данным, возможность игнорировать «шумы» и неважные детали входной информации. Как живой человек сможет различить знакомого в толпе, так нейросеть можно научить выделять нужное и отбрасывать ненужное. Гибкость проявляется не только в этом. Нейросети способны решать широкий спектр задач, и их можно адаптировать практически под любые обстоятельства. Нейросети приблизительны. Мы уже говорили: любой результат, выданный нейронной сетью, приблизителен и неточен. Например, сеть, которая распознает картинки, может сказать «Здесь изображена корова» только с определенной вероятностью. И эта вероятность всегда будет меньше единицы, то есть ниже ста процентов. Более того: если два раза показать нейросети одну и ту же картинку, она может выдать разные вероятности в качестве ответа. Различаться они, конечно, будут на сотые и тысячные доли, но это все же неодинаковый, недетерминированный результат. Нейросети могут ошибаться. Любой искусственный интеллект уступает человеческому. Это происходит из-за того, что мощности нашего мозга до сих пор невозможно повторить. В теле человека 86 миллиардов нейронов, и еще не создана сеть, которая хотя бы немного приблизилась к этому числу. В современных нейросетях содержится примерно 10 миллиардов нейронов. Даже при наличии продвинутых формул искусственная нейросеть все равно остается упрощенной моделью — например, в ней нет понятия силы импульса, которое есть в биологических нервах. У биологических нейронных сетей, конечно, тоже бывают ошибки. Но для нейросетей они проявляются более ярко за счет их упрощенной структуры. Читайте также: Искусственный интеллект против сценаристов: как нейросети создают истории

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

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

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

Востребованность специалиста по нейросетям

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

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

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

При обучении нейронной сети все ее «веса» изначально задаются случайными значениями. Обучающие данные подаются на нижний, или входной, слой. Затем они проходят через последующие слои, пока не достигают выходного. Во время обучения «веса» и пороговые значения постоянно корректируются до тех пор, пока данные обучения не будут постоянно давать одинаковые результаты.

Биологические нейронные сети. Нервная система живого существа состоит из нейронов — клеток, которые накапливают и передают информацию в виде электрических и химических импульсов. У нейронов есть аксон — основная часть клетки, и дендрит — длинный отросток на ее конце, который может достигать сантиметра в длину. Дендриты передают информацию с одной клетки на другую и работают как «провода» для нервных импульсов. С помощью специальных шипов они цепляются за другие нейроны, и так сигналы передаются по всей нервной системе. В качестве примера можно привести любое осознанное действие. Например, человек решает поднять руку: импульс сначала появляется в его мозгу, потом через сеть нейронов информация передается от одной клетки к другой. По пути она преобразуется и в конечном итоге достигает клеток в руке. Рука поднимается. Так работает большинство процессов в организме — тех, которые управляются мозгом. Но главная особенность нейронных сетей — способность обучаться. И именно она легла в основу машинных нейросетей. Первые машинные нейросети. В сороковых годах прошлого века люди впервые попытались описать сеть нейронов математически. Затем, в пятидесятых, — воссоздать ее модель с помощью кода. Получилась та самая структура, которую назвали перцептрон. На графиках и иллюстрациях ее обычно рисуют как набор кругов и прямых, их соединяющих — это и есть нейроны, образующие сетку. Перцептрон был проще современных нейросетей. Он имел всего один слой и три типа элементов: первый тип принимал информацию, второй обрабатывал и создавал ассоциативные связи, третий выдавал результат. Но даже элементарная структура уже могла обучаться и более-менее точно решать простые задачи. Например, перцептрон мог ответить, есть ли на картинке предмет, который его научили распознавать. Он был способен отвечать только на вопросы, где есть два варианта ответов: «да» и «нет». После этого развитие нейросетей замедлилось. Существующих на тот момент технологий было недостаточно, чтобы создать мощную систему. Наработки шли неторопливо, но чем больше развивалась компьютерная отрасль, тем больше интереса вызывал концепт.

ЧИТАТЬ ТАКЖЕ:  Как скачать фотошоп с нейросетью бесплатно

Кроме того, есть входной и выходной слои. Входной принимает информацию и преобразовывает ее, например переводит картинку в матрицу из чисел. Выходной обрабатывает результат и представляет его в понятном человеку виде. Например, результат 0,77827273 он представит как «с точностью в 78% это такой-то предмет».

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

Нейросети используются в огромном количестве сфер, в первую очередь в тех, где от машины нужна функциональность сродни человеческой. То есть в ситуациях, где нет четко заданного скрипта, описывающего каждый конкретный случай; входные данные могут быть любыми, поэтому нужно уметь обрабатывать все возможные варианты. Хороший пример — робот-ассистент или подсказки в поле поиска. В свое время именно поисковые системы дали толчок развитию методов искусственного интеллекта. Пока с нейронными сетями работают в основном большие компании и холдинги. Для того чтобы создать нейросеть, способную достаточно грамотно работать в сложных условиях, нужны мощные машины и большие наборы обучающих данных. Такие ресурсы могут себе позволить только крупные корпорации. Еще есть стартапы — они в основном работают на арендованных мощностях и концентрируются на создании нейросети под конкретные задачи. Пример — знаменитое приложение Prisma. Отрасль может быть любой. Во всех сферах есть задачи, которые в силах решить нейросеть. Рассмотрим основные области задач, для решения которых используются нейросети. Классификация. Нейросеть получает объект и относит его к определенному классу. Самая первая сеть, перцептрон, решала именно задачи классификации, но очень простые. Сейчас возможности шире: сети могут классифицировать клиентов и выделять аудитории по интересам — вы сталкиваетесь с этой возможностью каждый день, когда ваш электронный почтовый ящик определяет (классифицирует) некоторые письма как спам. Но это не единственный пример: автоматический скоринг в банках, контекстная реклама — это все касается классификации. Распознавание. Задача поставлена иначе: она не в том, чтобы отнести объект к одному из классов, а в том, чтобы найти нужное среди множества данных — например, лицо на картинке. «Умные» фильтры для фотографий работают именно так. Можно вспомнить многочисленные нейросети, которые превращают фотографии в картины маслом или постеры, — они тоже сначала распознают, что находится на изображении. Распознавать можно и текстовые данные, например приложения для определения названия музыкальных треков. Но распознавание — это не только приложения. Это и поиск по картинке, и чтение текста с изображения, и работа «умных» камер слежения. Разнообразные программы для людей с ограниченными возможностями тоже используют возможности распознавания. Сюда же относятся голосовые ассистенты, которые распознают речь. Сейчас нейросети начинают активно применяться в медицине, например распознают информацию на снимках, что облегчает диагностику. Прогнозирование. Третий вариант — нейросети, которые получают входные данные и на их основе что-то предсказывают. Их часто применяют в аналитике, например в финансовом секторе такая сеть может предсказывать поведение рынка, а в маркетинге — тренды и аудитории. Нейросетевые программы, которые дописывают текст или дорисовывают изображение, тоже по сути занимаются прогнозированием. Так же работают поисковые системы: вы начинаете вводить фразу, а вам предлагают ее завершение. Это тоже задача прогнозирования, причем интересная — с учетом смысла предыдущих слов. Генерация. Нейронные сети могут сами генерировать контент. Пока он далек от идеального, но программы становятся умнее. Сейчас нейросети могут писать музыку, создавать изображения, и со временем они становятся все больше похожими на настоящие. Это комплексная задача, которая может состоять из нескольких предыдущих. Например, «дорисовка» человека на фотографии — задача распознавания и прогнозирования одновременно. Генерация текста в определенном стиле — классификация плюс прогнозирование.

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

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

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

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

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

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

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