Нейросеть: что это такое простым языком
Искусственная нейронная сеть (ИНС, Neural Network) — это программа, которая может обучаться на массиве данных и примеров. Хитрость в том, что алгоритмы в нейросети устроены подобно нейронам в мозгу человека. Они связаны между собой и могут передавать друг другу сигналы. От последних зависит обучение. К примеру, в случае с собаками нейросеть формирует сильные связи между нейронами, которые распознают хвост, морду, усы.
Интерес к нейронным сетям возник еще в середине XX века. В 1943 американские ученые Уоррен Мак-Каллок и Уолтер Питс создали модель, в которой нейроны рассматриваются как устройства, способные работать с двоичными числами и выполнять некоторые логические операции.
В 1958 году Фрэнк Розенблатт создал первый нейрокомпьютер — вычислительную систему «Марк-1». Mark 1 умел распознавать некоторые буквы английского алфавита. Эту возможность он получил благодаря перцептронам — математической модели человеческого мозга, состоящей из трех элементов:
- датчики, от которых поступают сигналы;
- ассоциативные элементы;
- реагирующие датчики.
Исследования в области neural network продолжились в 1970–1980-е годы. В 1982 г. Дж. Хопфилд представил ассоциативную Hopfield network. Выводы, сделанные ученым, Ричард Липпманн использовал для создания нейросети Хэмминга (1987 год). Она научилась распознавать черно-белые изображения: например, индекс на почтовых конвертах.
В 1984 году финский ученый Т. Кохонен предложил нейросеть с обучением без учителя Self-organizing map — SOM, которая позволяла кластеризировать и визуализировать данные.
Вопросами машинного обучения занимались Дж. Андерсон, Бернард Уидроу, М. М. Бонгард, Пол Дж. Вербоси другие. Долгое время сфера ИИ была узкоспециализированной: ею занимались ученые и программисты. Вычислительные мощности и более сложные алгоритмы машинного обучения, которые появились в 1990–е, ознаменовали новую эту ИИ: компьютерная система Deep Blue обыграла чемпиона мира по шахматам Гарри Каспарова, робот-гуманоид Kismet научился моделировать эмоции человека, роботы-геологи Opportunity и Spirit отправились на Марс и передавали данные на Землю без вмешательства человека. В 2011 году Apple выпустила виртуального помощника Siri, а в 2014 Microsoft представила Cortana.
С выходом ChatGPT, GigaChat, Midjourney и Bard сети получили новый виток развития и популярность у массового пользователя. .
Как работает нейронная сеть
Разберем, как работает нейросеть, на примере GigaChat. Программный продукт Сбера умеет:
- отвечать на вопросы;
- поддерживать диалог;
- делать выжимки (саммари) из текста;
- писать код и объяснять его;
- генерировать изображения.
«ГигаЧат» работает на русском и английском языках. Со стороны пользователя работа выглядит так:
- Задается вопрос (формируется промпт).
- ГигаЧат опознает тип запроса.
- Нейросеть обращается к знаниям, выбирает стратегию ответа.
- Пользователь получает ответ.
Базовая версия GigaChat работает в Телеграме, «ВКонтакте и на смарт-устройствах Sber. К примеру, можно запустить в Telegram бота — @gigachat_bot, а после клика на /start сформулировать запрос: «Расскажи, что такое gitverse.ru и для чего используется». Вы получите ответ:
Информация о GitVerse верна, но не совсем актуальна. Уже доступен Kandinsky 3.1, а сам хостинг репозиториев вышел из тестирования. Причина в том, что пока у GigaChat нет доступа в интернет. Это значит, что нейросетевая модель не сообщит вчерашние новости и не будет знать, какой сегодня день.
Но ИИ выдает контент на основе более 300 Гб данных: научные статьи, книги, комментарии на форумах, публикации СМИ, разговорная речь и т.д. Каждый пользователь обучает нейросеть, когда ставит лайк или дизлайк ответу. О нюансах обучения neural network мы расскажем ниже.
Какие задачи решают нейронные сети
Возможности использования Neural Network зависят от того, что предусмотрели разработчики. Выделяют две разновидности:
- одномодальные — умеют работать только с одним видом контента (например, генерировать текст или создавать изображения);
- мультимодальные — могут создавать разные типы контента (тексты, изображения, видео, звук и т.д.).
К примеру, GigaChat относится к мультимодальным нейросетям: он умеет писать тексты и генерировать картинки. Через динамические модули возможны работа со звуком и интеграция с другими инструментами.
Задачи, которые помогают решать нейросети, можно объединить в несколько групп.
Группа задач | Для чего использовать | Примеры использования |
Классификация | Распознать объекты и образы: лица, эмоции, фигуры, формулы, текст | Распознать текст, транскрибировать речь, определить, имеет ли человек право на льготы |
Регрессия | Обработать входные данные и выдать результат | Определить возраст по фото, составить прогноз биржевых котировок, оценить стоимость коммерческой недвижимости |
Генерация | Создать и/или изменить контент | Сгенерировать тексты, создать изображения, раскрасить черно-белые фильмы, озвучить статью |
Прогнозирование временных рядов | Предсказать динамику объекта/процесса в зависимости от заданных критериев | Смоделировать цены на коммерческую недвижимость, рассчитать увеличение/уменьшение объема потребления энергии, спрогнозировать риск пробок и заторов, предсказать стоимость акций компании |
Кластеризация | Обработать данные и объединить их по определенным признакам | Выявить сегменты клиентов, отсортировать изображения и т.д. |
Список задач, которые способны решать нейросети, постепенно расширяется. Искусственный интеллект может стать частью сложного программного продукта или системы. К примеру, сегодня ИИ уже используется в социальных сетях: он анализирует предпочтения пользователя и показывает ему контент, релевантный интересам. AI в банковских продуктах помогает экономить. Он анализирует расходы по карте за предыдущий период и подсказывает клиенту, какую категорию кэшбэка лучше выбрать на будущий месяц.
Как искусственный интеллект упрощает разработку
ИИ помогает писать, тестировать, документировать код. Например, искусственный интеллект может указать на ошибки, сгенерировать часть кода или объяснить его, написать текст-кейсы или документацию. Разработчикам доступен бесплатный AI-ассистент GigaCode. Чтобы получить к нему доступ, достаточно авторизации на сайте https://gitverse.ru/ и подключения плагина.
После входа появится меню для выбора и активации AI-ассистента.
Далее необходимо выбрать IDE, в которой будет работать умный помощник. GigaCode доступен в GigaIDE Desktop, VS Code, Android Studio, JetBrains IDEs, Jupyter Notebook. Самый простой способ подключить умного помощника — использовать среду разработки GigaIDE Desktop (предварительно скачать и установить ее).
В GigaIDE Desktop плагин работает из коробки (дополнительные настройки не нужны). В случае с другими средами разработки необходимо проследовать инструкциям на сайте.
Чтобы увидеть настройки и возможности плагина, необходимо запустить среду разработки «GigaIDE и нажать «GigaCode» в нижнем правом углу. В разделе «Languages & Frameworks» находится список языков и фреймворков, с которыми работает GigaCode. В разделе «Plugins» представлена информация о виртуальном ассистенте.
GigaCode доступен разработчику в формате чата. На русском или английском можно задать вопрос или попросить объяснить, что происходит в файле. Для этого используется команда /explain. В примере простой файл gitverse.html на 16 строк. Но программисты работают со сложным кодом на 100 строк и более с функциями, массивами данных, классами и т.д. GigaCode помогает быстрее понять, что происходит в коде.
Умный помощник справляется и с задачей написания кода. Например, когда разработчик ставит задачу добавить кнопку в файл html.
Умный помощник понимает команды:
- /explain — объяснит, что происходит в коде;
- /doc — сгенерирует документацию;
- /test — напишет текст-кейсы;
- /explain_step_by_step — разберет код пошагово.
Искусственный интеллект GigaCode помогает в написании, тестировании, отладке, документировании кода. AI-ассистент пригодится как начинающим разработчикам, так и программистам с опытом.
Виды нейросетей
В зависимости от архитектуры выделяют десятки типов нейронных сетей. Часто типы называют в честь ученых: сеть Джордана, Элмана, Хэмминга, Ворда, Хопфилда, Кохонена, Розенблатта.
Институт Азимова (The Asimov Institute) попытался систематизировать разновидности нейронных сетей. Так появился «зоопарк» — «The Neural Network Zoo».
Среди основных типов:
- Перцептроны — первая модель, созданная Фрэнком Розенблаттом. Машина умела сканировать картинки, превращать их в сигнал, обрабатывать и выдавать результат. Он был бинарным, т.е. выглядел как 1 или 0.
- Многослойные — доработанная модель Розенблатта умела работать с десятичными числами и использовала несколько обучаемых слоев. Благодаря этому ИНС могла более гибко решать задачи. К примеру, многослойная Neural Network могла распознать объект вне зависимости от тени или угла наклона.
- Рекуррентные — модели, которые запоминают последовательность (цепочку данных), понимают ее и предсказывают, что будет дальше. На основе массива данных нейронная сеть может продолжить предложение: «GitVerse — это российская программная платформа для…» фразой «работы с исходным кодом».
- Сверточные — архитектура, созданная для распознавания образов и работы с изображениями. Подобные модели используют слои свертки, активации и пулинга. На вход поступает изображение, которое нейросеть «послойно нарезает». Затем в каждом слое ищет самые важные признаки.
- Генеративные — модели, которые создают что-либо (как правило, текст и изображения). Среди актуальных — GigaChat, Kandinsky, GPT.
Применение нейронных сетей
Нейронные сети могут использоваться как для решения бытовых задач (сделать выжимку из статьи, нарисовать изображение), так и для научных или коммерческих целей.
Ниже представлены некоторые области, где применяют Neural Network:
- наука — объяснить код, написать простой скрипт, подготовить протокол исследования, расшифровать клинический анализ, сделать выжимку из публикаций ученых, ответить на вопросы по тексту документа;
- маркетинг — сгенерировать поисковые запросы, подобрать ключевые слова или синонимы, предложить темы для блога, составить пресс-релиз, переписать статью;
- управление и бизнес-процессы — автоматизировать общение с клиентами, снизить нагрузку на контакт-центр, проанализировать процессы и выявить аномалии и так далее.
С использованием нейросетевых моделей работают:
- голосовые помощники Джой, Салют, Афина от Сбера — приветствуют клиента при обращении в контакт-центр, помогают решить возникшие проблемы, консультируют;
- виртуальные ассистенты «Умного дома» — поддерживают разговор, рассказывают сказки, находят музыку или телеканал по запросу,
- AI-ассистент GigaCode — помогает писать код на более чем 30 языках программирования;
- сервисы SaluteJazz и SaluteJazz Webinars — ИНС транскрибируют выступления спикера, делают выжимку главной информации, переписывают тексты докладов.
GigaChat помогает создавать и настраивать сценарии автоматизации программных роботов SaluteRPA или аналогичных.
Как обучаются нейросети
GigaChat (как GPT и некоторые другие генеративные) — большая языковая модель (Large Language Model, LLM). Она учится на корпусе данных: книги, научные статьи, комментарии на форумах, исследования, пособия, инструкции, веб-страницы в интернете и т.д. Процесс можно сравнить с тем, как учат маленьких детей: «Смотри, это зеленый цвет, а это — машина».
Языковая модель обрабатывает информацию и запоминает последовательность слов, построение предложений, связанность тем. В общем, все почти как у людей, за исключением одного нюанса: ИИ не понимает смысла слов так, как его понимают люди. На любой вопрос искусственный интеллект дает ответ, похожий на те многочисленные тексты, на которых учился.
Процесс обучения языковой модели включает этапы:
- Pretraining (обучение базовой языковой модели) — программе «скармливают» корпус данных. Она изучает информацию и учится предсказывать, каким будет следующее слово в предложении на основе алгоритма распределения вероятностей.
- Finetuning (дообучение) — Large Language Model учится не только предсказывать следующее слово в предложении, но и отвечать на конкретные вопросы. Чтобы дообучить LLM, используют чистые данные, собранные вручную. На этапе Finetuning с ЯМ работают специалисты из различных областей: финансисты, биологи, медики, юрист, инженеры.
GigaChat дообучается по методу supervised fine-tuning, reinforcement learning with human feedback прямо в процессе работы. Каждый раз, когда пользователь ставит лайк или дизлайк комментарию от Neural Network, она учится отвечать подробнее, точнее, профессиональнее.
Преимущества и недостатки нейросетей
Чтобы оценить все плюсы и минусы нейросетевых моделей, стоит попробовать применять их в бизнесе и в жизни.
Преимущества нейросетей сводятся к автоматизации рутины в различных сферах: маркетинг, SEO-продвижение, распознавание текстов, аналитика данных, составление отчетов и прогнозирование. ИИ экономит время и ресурсы специалистов на различных уровнях: управление и менеджмент, бухгалтерия.
Преимущества ИИ:
- помогает «выйти из плоскости», подсказывает подходы к решению задач;
- экономит время на рутинных операциях, аналитике, отчетах;
- выполняет часть задач, для решения которых раньше приходилось выделять отдельного специалиста (транскрибация, распознавание сканов).
Large Language Model может быть частью сложных продуктов и систем: чат-боты, голосовые помощники, виртуальные ассистенты.
Но есть и минусы, которые важно учитывать:
- Результат работы зависит от корпуса данных, на которых обучали LLM. К примеру, GigaChat и отечественные разработки лучше учитывают культурный код России по сравнению с зарубежными аналогами (и наоборот).
- Потребление ресурсов. ИИ-технологии основаны на сложных вычислениях. Для этого нужно качественное «железо» в центрах обработки данных. Запросы растут, повышается нагрузка на ЦОДы, увеличивается потребление электроэнергии и других ресурсов (например, воды, необходимой для охлаждения).
- Риск «галлюцинаций» и ошибок. Несмотря на постоянное обучение и совершенствование, Large Language Models могут давать неверные ответы и ошибаться. Поэтому часто требуются фактчекинг и дополнительные проверки.
- Необходимость использовать промпты. Чтобы Neural Network не давала расплывчатые поверхностные ответы, необходимо грамотно формулировать запрос, т.е. prompt. Появилось даже отдельное направление в IT — промпт-инжиниринг.
- Неспособность решать часть задач. LLM и искусственный интеллект хороши для работы с рутиной и автоматизацией процессов. Но с созданием чего-то принципиально нового, научными открытиями и тому подобным ИИ не справляется.
Тексты и изображения, которые генерируют модели, зачастую имеют «характерный почерк». Картинки можно узнать по слегка размытым плавным линиям. Изображений стало так много, что есть риск формирования аналога «баннерной слепоты». Пример изображения от Kandinsky 3.1 по запросу: «Нарисуй программиста, который пишет код с использованием платформы GitVerse. В браузере открыта страница сайта gitverse.ru».
Кратко о нейронных сетях
«Нейронки» сегодня помогают оптимизировать и автоматизировать процессы в бизнесе и быту. Они умеют отвечать на открытые и закрытые вопросы, генерировать контент, классифицировать информацию, переводить тексты, обобщать, моделировать диалог. Стоит попробовать ИИ и оценить его возможности. Сделать это можно в том числе и на платформе GitVerse: разработчикам доступен умный помощник GigaCode, который помогает писать код более чем на 30 языках программирования.