Содержание статьи
- 1Как физически выглядит нейросеть
- 1.1Современный этап: развитие глубокого обучения (Deep Learning)
- 1.2Интересно то, что конкретные признаки, нужные для узнавания, неизвестны. Мы не можем точно сказать, почему понимаем, что кот — это кот, даже если он нарисован в необычном стиле и не похож на настоящего. У нейросетей так же. Разработчики до конца не знают, какие именно признаки «запомнила» нейросеть, — поэтому даже работающий и протестированный программный продукт может выдавать ошибки. Например, воспринимать человека с ободком в виде кошачьих ушек как кота.
- 1.3Где применяют нейросети и кто с ними работает
Как физически выглядит нейросеть
Современный этап: развитие глубокого обучения (Deep Learning)
Сверточные нейронные сети —вариант однонаправленных сетей, но в них заложено пять слоев: входной, свертывающий, объединяющий, подключенный и выходной. Такие сети частично имитируют зрительную кору головного мозга и используется для классификации объектов, распознавания изображений и естественного языка, а также для прогнозирования.
Но уже в 1982 году в так называемой сети Хопфилда удалось реализовать двустороннюю передачу информации между нейронами. Так появились нелинейные функции активации, которые обеспечивают сложные взаимосвязи между входными и выходными нейронами. На этом этапе все было готово для глубокого или глубинного обучения, также известного как. Но прошло еще более 10 лет, прежде чем концепция получила полноценное воплощение.
Нейросети сейчас в тренде и кажутся явлением исключительно нашего времени, как смартфоны или умная техника. Но на самом деле они появились еще в 1940-е годы и прошли путь от простого перцептрона до современного ИИ, способного справиться с любой задачей. Редакция ZOOM.CNews изучила историю и принцип работы нейросетей.
Например, Google Lens использует для идентификации изображений сверточную сеть из 27 слоев GoogleLeNet. Похожая сеть есть в сервисе распознавания текста Yandex Vision и в видеоувеличителе Transformer-OCR, который способен определять текст на изображениях.
Принцип работы перцептрона был прост: в него загружали определенный набор правил для распознавания информации, а затем показывали карточку, например, с буквой «А». Если устройство давало верный ответ, то переходили к следующей карточке, если же происходил сбой, то в правила вручную вносились коррективы, и обучение продолжалось.
Например, нейросеть должна распознать рукописные цифры от 0 до 9. Для этого сначала ей дают обучающие примеры, затем она переходит к самообучению. Сеть выдает предположение о том, какая цифра сейчас демонстрируется, затем анализирует этот вариант и вычисляет разницу между реальной цифрой и своей версией. Это значение используется для корректировки нейронов внутри сети до тех пор, пока распознавание не станет максимально точным.
Перцептроны — Это классические нейронные сети, изначально однослойные, позже многослойные. Сейчас используются в основном для вычислений. Сверточные нейронные сети — Это многослойные сети, которые состоят из чередующихся сверточных и субдискретизирующих слоев и предназначены специально для работы с изображениями. Рекуррентные нейронные сети Их особенность в возможности последовательно обрабатывать цепочки данных и «запоминать» предыдущую информацию. Поэтому их применяют для работы с изменяющимися сведениями или длинными цепочками данных, например рукописными текстами. Генеративные нейронные сети Предназначены для создания контента. Иногда используются генеративно-состязательные нейросети — связка из двух сетей, где одна создает контент, а другая оценивает его качество.
Это опять же свойство, взятое из человеческого мозга. Нейронные связи в нашей нервной системе укрепляются, когда мы что-то выучиваем, — в итоге мы помним и делаем это лучше. Так появляются знания и навыки. У искусственных нейронных сетей так же: просто вместо физического изменения нервной ткани здесь происходит изменение числовых значений.
Интересно то, что конкретные признаки, нужные для узнавания, неизвестны. Мы не можем точно сказать, почему понимаем, что кот — это кот, даже если он нарисован в необычном стиле и не похож на настоящего. У нейросетей так же. Разработчики до конца не знают, какие именно признаки «запомнила» нейросеть, — поэтому даже работающий и протестированный программный продукт может выдавать ошибки. Например, воспринимать человека с ободком в виде кошачьих ушек как кота.
Сети прямого распространенияеще называют однонаправленными. Сигнал в них передается от входного нейрона к выходному, а обратное движение в принципе невозможно. Сами по себе такие сети ограничены в функциях и потому редко используются, но на их основе создаются более сложные сверточные сети.
Однако в 1974 году независимо друг от друга Александр Галушкин и Пол Вербос описали метод обратного распространения ошибки. Он подразумевает, что сигнал об ошибке идет не от входов, а от выходов сети. Это позволяло решить задачу обучения многослойных сетей. К тому же теперь они могли совершать операцию «исключающее ИЛИ».
— На сегодняшний день школа МАИ — одна из самых сильных в этой сфере. Так получилось потому, что наша школа создана не из научных соображений, как в западной традиции, а из практики: российские учёные в первую очередь нацелены на практический результат. К сожалению, если взять статьи или исследовательские работы, которые выходят в этом направлении по всему миру, то, по моему мнению, реально приложить к практике можно только 5%. Наша российская школа отличается тем, что мы отбрасываем все варианты, которые красивы с научной точки зрения, но никогда не будут работать в жизни. Например, на одной конференции зарубежные коллеги представили нейросеть, которая аппроксимирует отрывную волну у сопла авиационного двигателя. Это здорово, но только реально такую сеть никогда не применят, потому что это единственный случай, в котором она работает. Нам же нужны универсальные решения, чтобы нейросеть рассчитывала комплекс задач и выдавала готовый результат, который можно использовать. И поэтому наш интерес в первую очередь в том, чтобы создать конечный продукт. И мы накопили такой ряд решений, которые действительно работают, хотя они, может быть, и не всегда красивы с научной точки зрения, — говорит Вадим Кондаратцев.
Рекуррентные сети имеют обратную связь. То есть информация с выходного слоя может возвращаться обратно на входной. Причем это может происходить неоднократно – и каждый раз данные будут пополняться за счет предыдущих выходов. Потому рекуррентные нейросети могут ненадолго запоминать и дополнять информацию, то есть обладают кратковременной памятью.
Нейросеть, еще называемая искусственной нейронной сетью или ИНС, – это математическая модель, программа или устройство, построенные по принципу биологической сети нейронов. Другими словами – по тому же принципу, по которому работает человеческий мозг. В основе каждой нейросети – огромное количество простых процессоров, представляющих собой искусственные нейроны. И, хотя по отдельности каждый процессор очень простой в сравнении с привычными компьютерами, их общая сеть с управляемым взаимодействием позволяет решать сложные задачи.
В 1969 году вышла книга «Перцептроны» Марвина Минского и Сеймура Паперта, в которой устройства Розенблатта подвергались закономерной критике. Дело в том, что в перцептроне использовалась однослойная нейронная сеть, а потому он не мог выполнять логическую операцию XOR (исключающее ИЛИ). А также на данном этапе компьютеры не обладали достаточной вычислительной мощностью и не могли обработать большой объем данных, который требовался для обучения нейронных сетей.
Искусственная нейронная сеть — не модель человеческого мозга: даже самые мощные из существующих сетей не могут достигнуть таких мощностей и подобного количества нейронов. В человеческом мозгу огромное количество нервных клеток — десятки миллиардов. В искусственных нейросетях намного меньше нейронов. Для создания нейронной сети, по возможностям равной человеческому мозгу, сейчас нет мощностей.
Синапсы. Синапс — это связь между нейронами. У каждого синапса есть веса — числовые коэффициенты, от которых как раз и зависит поведение нейронной сети. В самом начале, при инициализации сети, эти коэффициенты расставляются случайным образом. Но в ходе обучения они меняются и подстраиваются так, чтобы сеть эффективнее решала задачу.
Где применяют нейросети и кто с ними работает
Нейронными сетями занимаются специалисты по машинному обучению. Они не пишут программы, основанные на алгоритмах: вместо этого они создают модель и обучают ее, а потом тестируют, насколько хорошо она работает. Есть отдельные компании, специализирующиеся на разработке нейросетей, а есть продуктовые отделы крупных IT-организаций, например Google.
При этом для всех процессов большее значение имеют даже не сами нейроны, а синапсы, то есть связь между ними. Каждый из синапсов имеет свой вес, выставленный в случайном порядке, и во время обработки данные, переданные синапсом с большим весом, становятся преобладающими.
Но по какой логике пересчитываются веса, понять можно. В ходе обучения нейросеть анализирует данные, а потом ей дают правильный ответ. Этот ответ для нее — числовое значение. Поэтому она подгоняет веса так, чтобы в своей работе сеть приближалась к эталонному значению. Мы подробнее расскажем об этом процессе ниже, когда поговорим про обучение.
— Физически информированные нейронные сети отличаются от других нейросетей тем, что в самой их структуре учитывается физическая модель реального мира. Благодаря этому предсказания таких сетей интерпретируемы и согласуются с физическими законами, — отмечает эксперт.
В МАИ в последнее время PINN успешно применяются в теоретической механике. Физически информированные нейронные сети помогают предсказывать разрушение твёрдых тел (вращающихся дисков, маховиков) при сверхкритических перегрузках — очень важной теме для всей аэрокосмической промышленности. Раньше такие задачи решались при помощи только сложнейшего и дорогостоящего суперкомпьютерного моделирования.
В составе актуальных нейросетей есть три слоя нейронов: входной, выходной и скрытый. Первый нейронов располагает только входными данными (например, вашим запросом в чат). На последующие слои уже попадает информация со всех предыдущих слоев. Затем с помощью функции активации удаляются все значения, которые выпадают из требуемого диапазона (не соответствуют вашему запросу). Наконец, на выходных нейронах появляется итоговый результат.