ИИ и нейронные сети
Искусственный интеллект разрабатывался шесть или семь десятилетий, и было несколько взлетов и падений. Несмотря на значительный прогресс, до идеального искусственного интеллекта еще далеко.
Существуют три основные школы искусственного интеллекта: семиотическая школа, школа связи и школа поведения. Семиотическая школа полагает, что любая система, которая может работать и преобразовывать одни физические паттерны или символы в другие паттерны или символы, может производить интеллектуальное поведение; школа связи полагает, что продвинутое интеллектуальное поведение возникает спонтанно из соединений большого числа нейронных сетей, путем моделирования. мозг с большим количеством нейронов; вместо того, чтобы сосредотачиваться на высокоинтеллектуальных людях, поведенческая школа сосредотачивается на насекомых низкого уровня, которые могут двигаться проворно и быстро реагировать. В 1980-х и 1990-х годах сложилась трехсторонняя ситуация.
В последние годы то, что снова сделало искусственный интеллект популярным, — это школа соединения.Школа соединения значительно улучшила производительность во многих областях в прошлом благодаря глубокому обучению.Метод соединения, несомненно, стал самым ярким решением искусственного интеллекта в настоящее время. Все коннекционистские модели являются инновационными, основанными на нейронных сетях, поэтому основной частью по-прежнему является структура нейронной сети.
О классификации
В значительной степени человеческое распознавание вещей сводится к их классификации. Точно так же, как различные цветы на картинке ниже, когда мы видим колокольчик, мы знаем, что это разновидность цветка, и когда мы видим мандалу, мы также думаем, что это разновидность цветка, и мы все классифицируем их, когда видим разные цветы. Подобно людям, деревьям, автомобилям и т. д., все они относятся к понятию классификации, и когда вы видите соответствующую вещь, она будет классифицирована.
Классификация является основной частью искусственного интеллекта, и нейронные сети могут достичь таких же возможностей распознавания и классификации, как и люди. Для машин вся информация представлена дискретными цифровыми сигналами, и цель нейронной сети состоит в том, чтобы классифицировать эти дискретные сигналы для достижения эффекта распознавания.
минимальная нейронная сеть
Персептрон — это самая простая нейронная сеть, она может иметь несколько входов (x1, x2,...xn), каждый вход имеет соответствующий вес (w1,w2...wn) в дополнение к члену смещения w0. Каждый вход умножается на соответствующий вес, затем накапливается, а затем проходит через ступенчатую функцию, Простейшая нейронная сеть так проста. Какой смысл в такой простой модели? На самом деле его можно использовать для линейной классификации.
Предположим, что есть два типа вещей, представленных синим и желтым соответственно. Мы извлекли два решающих фактора x1 и x2 и теперь готовы использовать простую функцию нейронной сети, чтобы решить, принадлежит ли точка синему или желтому цвету. Сначала вычислите z = a_x1+b_x2+c, а затем передайте значение z через функцию активации Sigmoid.Функция Sigmoid показана на рисунке, и ее значение сжато между 0-1, а 0,5 используется как сине-желтый разделительная черта.
Теперь возникает вопрос, как определить параметры a, b и c, чтобы правильно разделить синий и желтый? Давайте угадаем три случайных значения, например, a=0,20, b=-0,3, c=0,7, тогда эффект классификации в это время будет следующим.
Продолжайте угадывать a=-0,20, b=-0,7, c=-0,5, вам повезет, эффект выглядит неплохо, и все они правильно классифицированы. Несомненно то, что мы можем догадываться бесконечно, и мы найдем более совершенную разделительную линию. Но какие разделительные линии лучше и как их найти? До сих пор мы придерживались стратегии угадывания, и мы можем угадать сразу, а можем никогда не угадать.
более мощная нейронная сеть
Простые персептроны представляют собой линейные модели, в то время как многие сложные проблемы можно решить путем вложения нескольких слоев нейронной сети и добавления нейронов.
Вся модель нейронной сети содержит три элемента: линейное преобразование, нелинейное преобразование и линейное принятие решений. Линейные и нелинейные преобразования на самом деле являются преобразованиями координат, которые объединяют информацию в другие пространства. От линейного к нелинейному — это преобразование признака, которое преобразует признак в другой признак. Многослойная нейронная сеть предназначена для обучения представлению.
Математически вложение нейронной сети представляет собой вложение нескольких функций, а отношение признаков описывается сложным отношением вложения функций.
То же самое классифицировать два типа вещей, но на этот раз задача усложняется.Видно, что желтый и синий не могут быть разделены простыми функциями.В это время простейшая нейросеть бессильна, и ее нужно вложенные Несколько слоев нейронной сети и добавление нейронов для решения.
Теперь мы сначала добавим два нейрона в исходный средний слой сети, а затем добавим еще один слой сети, всего два скрытых слоя.
В конце концов, эта многослойная нейронная сеть действительно может завершить классификацию этих более сложных двух типов вещей.
обучать нейронную сеть
Мы не можем полагаться на догадки и удачу, а параметры нейронной сети те же, нам еще нужно обучить нейронную сеть в соответствии с научными рекомендациями. Фактически, мы часто используем алгоритм обратного распространения ошибки для обучения нейронной сети, который использует метод градиентного спуска и постоянно корректирует веса в нейронной сети посредством обратного распространения, чтобы минимизировать квадрат ошибки выходного слоя.
В выходном слое нейронной сети мы получим окончательный вывод, и этот вывод может иметь ошибку с целевым значением.Мы можем использовать сумму квадратов ошибок в качестве критерия, чтобы мы могли судить о качестве функция, которую мы нашли.
Более того, ошибка будет распространяться обратно, и каждый нейрон будет иметь соответствующую ошибку. При конкретной обработке вес каждого нейрона может быть обновлен методом градиентного спуска, чтобы можно было решить значение параметра соединения в нейронной сети, то есть можно было подтвердить параметры всех функций.
Примерный процесс:
-
Вычислите сигнал прямой связи от входа к выходу.
-
Вычислите выходную ошибку E на основе предсказанного значения и целевого значения.
-
Они взвешиваются весами предыдущего слоя и градиентом соответствующей функции активации для обратного распространения сигнала ошибки.
-
Вычисляет градиенты параметров на основе сигнала ошибки с обратным распространением и входного сигнала прямой связи.
- Используйте рассчитанный градиент, чтобы обновить параметры с помощью формулы
------------- Рекомендуем прочитать ------------
Зачем писать «Анализ проектирования ядра Tomcat»
2018 Алгоритмы структуры сводных данных
Сборник статей по машинному обучению за 2018 г.
Сводка статей о глубине Java за 2018 г.
Резюме по обработке естественного языка за 2018 г.
Резюме глубокого обучения за 2018 г.
Сводка статей об исходном коде JDK за 2018 г.
Обзор Java Concurrency Core за 2018 г.
Поговори со мной, задай мне вопросы:
Добро пожаловать, чтобы обратить внимание: искусственный интеллект, чтение и мысли, болтовня о математике, распределенное, машинное обучение, глубокое обучение, обработка естественного языка, алгоритмы и структуры данных, глубина Java, ядро Tomcat и другие статьи по теме