Как устроена и работает нейросеть
На откуп нейросетям отдаются целые отрасли деятельности уже сейчас и предполагается, что его роль будет только увеличиваться.
Уже сейчас нейросети многое умеют и выполняют жизненно важные функции для людей.
С нейросетями связаны всякие пугалки о том, что они возьмут человечество под контроль и будут управлять им в «своих интересах»... Хотя, какие интересы могут быть у программы?
А, - говорят некоторые особенно тревожные граждане, - ИИ заменит нас на планете Земля! Он быстрее решает задачи, у него бОльшие возможности, он выигрывает у человечества.
Так ли это? В чем тут суть?
Без сомнения, поскольку роль ИИ будет увеличиваться по мере его совершенствования, важно понять, что это такое. Что может ИИ и чего не может? В чем его преимущества и недостатки?
Нейросети это инструмент в руках человека или это что-то большее?
Итак, начнем ликбез.
Принцип действия Нейросети.
Принцип действия нейросети НЕ похож на классическую программу.
Такой сети не дают четкого алгоритма. Ее обучают, чтобы она могла самостоятельно выполнять ту или иную задачу.
В результате деятельность программы становится менее предсказуемой, хотя более вариативной и , можно сказать, творческой.
Хотя, современные нейросети научились рисовать картины, писать стихи и отвечать на сложные вопросы, пока что все это творчество вторично.
Пока что они похожи на двоечников, которые способны только списать у тех, кто действительно решил задачу сам, написал стихи или музыку сам, но они развиваются.
Нейросети используются во многих программных продуктах - от роботов-помощников до сложных медицинских систем диагностики.
Нейронными сетями занимаются специалисты по машинному обучению.
Чем эти специалисты отличаются от классических программистов?
Тем, что они НЕ пишут программы, основанные на алгоритмах.
Они создают модель и обучают ее, а потом тестируют, насколько хорошо она работает.
Большое количество IT компаний, специализируются на разработке нейросетей, например Google, AI( artificial intellect).
В настоящее время нейронные сети можно встретить в таких областях как
• поисковые системы;
• анализ данных, классификация и статистика;
• подсчеты и прогнозирование;
• создание контента;
• системы распознавания лиц;
• монтаж видеороликов и т.д.
В последние годы с развитием нейронных сетей их стали использовать в том числе в социальных сетях в качестве SMM (англ. Social media marketing, SMM) — маркетинг, интегрированный на различные социальные платформы.
Ведение аккаунтов в социальных сетях и т.д.
Будьте осторожны, уже сейчас есть блоги, где изображения и другой контент частично или полностью генерируются нейросетями. Если информацией вас кормят нейросети, будьте уверены, их создатели хотят направить ход ваших мыслей в определенном направлении.
В сетях есть и различные развлекательные сервисы, где нейросети «перерисовывают» лица людей, делают из них картины, персонажей мультфильмов, вставляют лица в отрывки из кино.
Три задачи нейронных сетей.
Сейчас принято разделять задачи, которые решают нейронные сети, на три категории:
- Классификация
Такие нейросети берут заданные данные и классифицируют их. Например, могут догадаться, к какому жанру относится текст, или оценить платежеспособность человека по его банковскому профилю и многое другое.
- Предсказание
Эти сети делают выводы на основе заданной информации. Сюда можно отнести как предсказание будущих доходов по текущим данным, так и «дорисовывание» картинки.
- Распознавание
Часто применяемая задача — распознавать те или иные объекты. Такие нейросети используются в умных камерах, при наложении фотофильтров, в камерах видеонаблюдения и других подобных программах и устройствах.
Некоторые задачи объединяют в себе несколько типов. Например, популярная нейронная сеть Midjourney создает рисунки на основе текстового описания — это и распознавание, и в какой-то степени предсказание.
Как устроена нейросеть
В основе искусственной нейронной сети лежит устройство нервной ткани человека. Она состоит из нервных клеток, связанных между собой длинными отростками( синапсами) .
В клетках происходят нервные импульсы, они передаются по отросткам в другие клетки. Таким образом нервная ткань обрабатывает или генерирует информацию.
Сами импульсы это данные, а набор слабых электрических токов, нейроны воспринимают как информацию.
Нейросеть повторяет этот же принцип, но программно.
Нейроны в нейросети — это программные объекты, внутри которых хранится какая-то формула.
Они соединены синапсами — связями, у которых есть веса - некоторые числовые значения. Веса отражают накопленную нейросетью информацию, но сами по себе, в отрыве от сети, не имеют информационной ценности.
Признаки.
Информация, важная для нейросети, — это какие-то признаки, которые нужны ей для распознавания, генерации или структурирования данных. Можно привести некоторый пример из того, как работает наш мозг.
Когда мы видим кошку, как мы понимаем, что это именно кошка? Чем она отличается, допустим, от собаки?
Она отличается рядом признаков.
У нее 4 лапы, значит, это животное, треугольные уши, зеленые глаза, определенные пропорции тела, блестящая шерстка, вкрадчивая манера поведения и еще много чего.
Или пусть нас просят представить себе дерево. У нас в голове возникает картинка.
Дерево в нашем воображении может выглядеть по-разному, но у него будут такие признаки, как ствол, ветки, корни, возможно — листья.
Для нейросети это работает примерно так же.
Только, если усвоенные человеком признаки кодируются в виде слабых электрических импульсов в нервной ткани, то в нейросети эти признаки хранится в виде числовых значений.
Заметим для справедливости, что мы не можем точно сказать, почему понимаем, что кот — это кот. Признаков очень много.
Даже если кот нарисован в необычном стиле и не похож на настоящего, мы понимает, что это именно кот.
У нейросетей такая же ситуация.
Разработчики до конца не знают, какие именно признаки «запомнила» нейросеть, — поэтому даже работающий и протестированный программный продукт может выдавать ошибки.
Например, воспринимать человека с ободком в виде кошачьих ушек как кота.
Это проблема. Ясно, что даже хорошо обученная нейронка может ошибаться и целиком на нее полагаться нельзя.
Нужен контроль более высокого уровня, а, именно, человеческий контроль.
Структура нейросети.
Нейросеть состоит из искусственных нейронов, которые соединены между собой.
У самой примитивной нейронной сети один слой нейронов, у более сложных — несколько.
Каждый слой занимается своей задачей, например, один распознает, другой преобразует.
Нейроны могут быть по-разному соединены друг с другом. Различаются и способы передачи данных, и формулы, которые их описывают. Все это уже зависит от типа нейронной сети.
У каждой сети есть входной и выходной слои.
- Входной принимает информацию и преобразовывает ее, например переводит картинку в матрицу из чисел.
- Выходной обрабатывает результат и представляет его в понятном человеку виде.
Например, результат 0,77827273 он представит, как «это такой-то предмет (у нас это кошка) с точностью в 78%».
Нейроны.
Нейрон — это простая вычислительная единица. Он не делает чего-то сверхсложного: просто получает на вход информацию, производит над ней какие-то вычисления согласно лежащей в нем формуле и передает дальше по сети.
Нейрон может быть входным, выходным и скрытым, также есть нейроны смещения и контекстные — они различаются функцией и назначением.
Основную работу выполняют скрытые нейроны — те, которые расположены на внутренних слоях сети.
Синапсы.
Синапс — это связь между нейронами. У каждого синапса есть веса — числовые коэффициенты, от которых зависит поведение нейронной сети.
В самом начале, при инициализации сети, эти коэффициенты расставляются случайным образом. В ходе обучения они меняются и подстраиваются так, чтобы сеть эффективнее решала задачу.
Это свойство, взятое из примера работы человеческого мозга. Нейронные связи в нашей нервной системе укрепляются, когда мы что-то выучиваем, — в итоге мы помним и делаем это лучше. Так появляются знания и навыки. Так что пословица, что повторение – мать учения, справедлива на физиологическом уровне нервной ткани головного мозга. Чтобы что-то понимать, то есть различать, надо этим заниматься регулярно.
У искусственных нейронных сетей такой же принцип, только вместо физического изменения нервной ткани здесь происходит изменение числовых значений.
Веса нейросети.
Веса это числовые значения внутри синапсов нейронов.
Нейросеть подсчитывает их самостоятельно в ходе обучения.
Когда нейронная сеть сталкивается в ходе обучения с каким-то признаком, который нужно запомнить, она пересчитывает веса.
При этом доподлинно неизвестно, какие именно числовые значения отвечают за те или иные признаки — и как именно признаки в них преобразуются. Вот эта неопределенность и есть ахиллесова пята нейронки.
Но по какой логике пересчитываются веса, понять можно.
В ходе обучения нейросеть анализирует данные, а потом ей дают правильный ответ.
Этот ответ для нее — числовое значение. Поэтому она подгоняет веса так, чтобы в своей работе сеть приближалась к эталонному значению.
Задача разработчика — создать нейроны, связать между собой и установить правила и формулы для пересчета весов.
На самом деле за созданием нейросети лежит огромная работа, модели сети бывают масштабными и сложными.
Как работает нейронная сеть
1. На вход поступает какая-то информация или запрос. Входной слой нейронной сети обрабатывает ее и переводит в понятный машине вид — в числовые наборы. Затем эти наборы передаются нейронам.
2. Нейроны по формулам, которые в них заложены, обрабатывают информацию. Как именно реагировать на разные детали этих данных, определяют коэффициенты — их нейросеть вырабатывает при обучении.
3. По сути, эти коэффициенты работают как память: нейросеть «вспоминает», как следует реагировать на похожие кластеры информации с известными ей признаками.
4. Данные передаются дальше по нейронной сети, проходит разные слои и типы нейронов. В конечном итоге на последнем слое нейросеть может сделать вывод.
На выход подается ее финальная «реакция» на запрос.
Важно понимать, искусственная нейронная сеть не является моделью человеческого мозга.
В человеческом мозгу огромное количество нервных клеток — десятки миллиардов. В искусственных нейросетях намного меньше нейронов. Для создания нейронной сети, по возможностям равной человеческому мозгу, сейчас нет мощностей. Даже самые мощные из существующих сетей не могут достигнуть таких мощностей и подобного количества нейронов.
И даже с небольшим по сравнению с мозгом количеством нейронов нейросети могут достигать поразительных результатов в обучении. Некоторые даже проходят тест Тьюринга, но с оговоркой: сознания у них нет, просто они хорошо научились имитировать его наличие. Иногда даже человек не всегда способен распознать в своем собеседнике нейронную сеть.
Типы нейросетей
Современная классификация нейросетей насчитывает десятки разных структур, способов связей и формул. Но можно выделить основные несколько типов:
Перцептроны
Это классические нейронные сети, изначально однослойные, позже многослойные. Сейчас используются в основном для вычислений.
Сверточные нейронные сети
Это многослойные сети, которые состоят из чередующихся сверточных и субдискретизирующих слоев и предназначены специально для работы с изображениями.
Рекуррентные нейронные сети
Их особенность в возможности последовательно обрабатывать цепочки данных и «запоминать» предыдущую информацию. Поэтому их применяют для работы с изменяющимися сведениями или длинными цепочками данных, например рукописными текстами.
Генеративные нейронные сети
Предназначены для создания контента. Иногда используются генеративно-состязательные нейросети — связка из двух сетей, где одна создает контент, а другая оценивает его качество.
Автокодировщики (Autoencoders)
Используются для обучения представлений данных (feature learning).
Сжимают входные данные до скрытого представления и восстанавливают их обратно. Применяются для уменьшения размерности данных, поиска аномалий.
Трансформеры (Transformers)
Основаны на механизме внимания (attention). Стали основой современных языковых моделей (например, GPT, BERT). Используются в задачах обработки текста, перевода, генерации текста.
При создании модели разработчик сначала обдумывает, какой тип сети подойдет для выбранной задачи, а после этого реализует нейронную сеть с нужной архитектурой.
Как обучают нейросети
Когда нейронная сеть готова и инициализирована, у нее случайные веса — они еще не настроились под нужный результат. Такая нейросеть называется необученной. Ее надо обучить на определенные действия.
Процесс обучения бывает ручным и автоматическим и выглядит обычно так. Нейросети дают на вход разные данные, она анализирует их, а потом ей сообщают, каким должен быть правильный ответ. Сеть устроена так, что будет «стремиться» подогнать веса синапсов, чтобы выдавать верные результаты.
Для эффективного обучения нужно много повторений. Иначе нейронная сеть будет работать неточно — ведь входные данные могут серьезно различаться, а она окажется натренирована только на один возможный вариант. Поэтому обучение проводится в несколько итераций и эпох.
Итерация — это одно прохождение тренировочного сета.
Эпоха — это количество полных прохождений всех сетов. Чем больше эпох, тем лучше натренирована нейросеть.
После обучения можно давать нейронной сети входные данные уже без подсказок. Она будет давать ответы на основе весов, которые подсчитала в процессе обучения.
Переобучение и другие ошибки
Обучение не так просто, как кажется.
В нейронных сетях есть эффект так называемого «переобучения»
Если тренировочных сетов слишком много и они слишком разные, нейросеть «теряется» и перестает эффективно выделять признаки.
В результате она может, например, воспринять артефакт графики как чье-то лицо или перепутать мужчину с женщиной. Это происходит из-за размытия весов.
И это не единственная ошибка, просто самая известная.
Эффект переобучения наблюдается и у людей — он выражается в том, что люди начинают видеть взаимосвязи в случайных наборах информации.
Чтобы не допустить переобучения, специалисты стараются оптимизировать процесс обучения, не давать нейронным сетям слишком масштабных для их структуры задач и подходить к построению модели, учитывая многие факторы.
Как видите, нейросеть работает так, как ее научил человек. И выполняет она только то, что нужно человеку, который научил ее выполнять некоторые функции. В нейросети заложено только то, что заложил разработчик.
Может ли нейросеть стать принципиально умнее человека?
Не может, хотя бы из системных соображений.
Человеческий мозг имеет определенную степень сложности и не может создать систему более сложную чем он.
Человеческий мозг содержит 86 миллиардов нейронов, примерно 16 миллиардов нейронов находятся в коре больших полушарий. Это огромная сложная система и еще не создана сеть, которая хотя бы немного приблизилась к этому числу.
В самых больших современных нейросетях может содержаться примерно 10 миллиардов нейронов.
Нейронная сеть не совершенство. Она может ошибаться. У нее есть специфические ошибки, которых нельзя избежать.
Так что, полагаться целиком на ИИ нельзя, конечным арбитром может и должен быть человек.
Свидетельство о публикации №225030101363
Дмитрий Кальянов 23.04.2025 10:57 Заявить о нарушении
Все доброго,
Заглядывайте,
Ия Белая 23.04.2025 20:08 Заявить о нарушении