Разное

Нейронные самообучающиеся сети: Ученые РФ создали робота, способного самообучаться благодаря нейронной сети — Наука

Содержание

Ученые РФ создали робота, способного самообучаться благодаря нейронной сети — Наука

МОСКВА, 20 мая. /ТАСС/. Ученые Нижегородского государственного университета им. Лобачевского (ННГУ) создали робота с возможностью самообучения на основе искусственной нейронной сети. Технологии, заложенные в разработку, могут в дальнейшем использоваться для создания более сложных роботизированных устройств для применения на промышленных объектах, в космосе и под водой, сообщила в понедельник пресс-служба Минобрнауки РФ.

«Нижегородские ученые создали уникального нейроробота с возможностью обучения и, что важно, самообучения на основе искусственно созданной нейронной сети. Технологии, заложенные в нейророботе, могут быть в дальнейшем использованы для создания более сложных роботизированных устройств (в том числе беспилотных транспортных средств), обладающих свойствами позиционирования в динамично меняющейся среде и применяться, как на промышленных объектах, так и в труднодоступных местах: в космосе и глубоко под водой», — говорится в сообщении.

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

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

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

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

Нейронные сети — математический аппарат

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

Искусственный нейрон

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

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

$S =\sum \limits_{i=1}^{n} \,x_iw_i$, (1)

$\sum \limits_{k=1}^{N} k^2$, (1)

где

n – число входов нейрона
xi – значение i-го входа нейрона
wi – вес i-го синапса. {-ax}}$, (3)

Основное достоинство этой функции в том, что она дифференцируема на всей оси абсцисс и имеет очень простую производную:

$f’\,(x) = \alpha f(x)\,\bigl(1\,-\,f\,(x)\bigr)$, (4)

При уменьшении параметра a сигмоид становится более пологим, вырождаясь в горизонтальную линию на уровне 0,5 при a=0. При увеличении a сигмоид все больше приближается к функции единичного скачка.

Нейронные сети обратного распространения

Нейронные сети обратного распространения – это мощнейший инструмент поиска закономерностей, прогнозирования, качественного анализа. Такое название – сети обратного распространения (back propagation) они получили из-за используемого алгоритма обучения, в котором ошибка распространяется от выходного слоя к входному, т. е. в направлении, противоположном направлению распространения сигнала при нормальном функционировании сети.

Нейронная сеть обратного распространения состоит из нескольких слоев нейронов, причем каждый нейрон слоя i связан с каждым нейроном слоя i+1, т. 2$, (5)

где

yj – значение j-го выхода нейросети,

dj – целевое значение j-го выхода,

p – число нейронов в выходном слое.

Обучение нейросети производится методом градиентного спуска, т. е. на каждой итерации изменение веса производится по формуле:

$\Delta\,w_{ij} = -\,\eta\,\cdot\,\frac{\partial\,E}{\partial\,w_{ij}}$, (6)

где h – параметр, определяющий скорость обучения.

$\frac{\partial\,E}{\partial\,w_{ij}} = \frac{\partial\,E}{\partial\,y_i}\,\cdot\,\frac{dy_i}{dS_j}\,\cdot\,\frac{\partial\,S_j}{\partial\,w_{ij}}$, (7)

где

yj – значение выхода j-го нейрона,

Sj – взвешенная сумма входных сигналов, определяемая по формуле (1).

При этом множитель

$\frac{\partial\,S_j}{\partial\,w_{ij}} = x_i$, (8)

где

xi – значение i-го входа нейрона. {(n)}\,(t\,-\,1)$ , (13.1)

Дополнительным преимуществом от введения момента является способность алгоритма преодолевать мелкие локальные минимумы.

Представление входных данных

Основное отличие НС в том, что в них все входные и выходные параметры представлены в виде чисел с плавающей точкой обычно в диапазоне [0..1]. В то же время данные предметной области часто имеют другое кодирование. Так, это могут быть числа в произвольном диапазоне, даты, символьные строки. Таким образом данные о проблеме могут быть как количественными, так и качественными. Рассмотрим сначала преобразование качественных данных в числовые, а затем рассмотрим способ преобразования входных данных в требуемый диапазон.

Качественные данные мы можем разделить на две группы: упорядоченные (ординальные) и неупорядоченные. Для рассмотрения способов кодирования этих данных мы рассмотрим задачу о прогнозировании успешности лечения какого-либо заболевания. Примером упорядоченных данных могут, например, являться данные, например, о дополнительных факторах риска при данном заболевании.

нет

ожирение

алкоголь

курение

гипертония

А также возможным примером может быть, например, возраст больного:

до 25 лет

25-39 лет

40-49 лет

50-59 лет

60 и старше

Опасность каждого фактора возрастает в таблицах при движении слева направо.

В первом случае мы видим, что у больного может быть несколько факторов риска одновременно. В таком случае нам необходимо использовать такое кодирование, при котором отсутствует ситуация, когда разным комбинациям факторов соответствует одно и то же значение. Наиболее распространен способ кодирования, когда каждому фактору ставится в соответствие разряд двоичного числа. 1 в этом разряде говорит о наличии фактора, а 0 о его отсутствии. Параметру нет можно поставить в соответствии число 0. Таким образом для представления всех факторов достаточно 4-х разрядного двоичного числа. Таким образом число 10102 = 1010 означает наличие у больного гипертонии и употребления алкоголя, а числу 00002 соответствует отсутствие у больного факторов риска. Таким образом факторы риска будут представлены числами в диапазоне [0..15].

Во втором случае мы также можем кодировать все значения двоичными весами, но это будет нецелесообразно, т.к. набор возможных значений будет слишком неравномерным. В этом случае более правильным будет установка в соответствие каждому значению своего веса, отличающегося на 1 от веса соседнего значения. Так, число 3 будет соответствовать возрасту 50-59 лет. Таким образом возраст будет закодирован числами в диапазоне [0..4].

В принципе аналогично можно поступать и для неупорядоченных данных, поставив в соответствие каждому значению какое-либо число. Однако это вводит нежелательную упорядоченность, которая может исказить данные, и сильно затруднить процесс обучения. В качестве одного из способов решения этой проблемы можно предложить поставить в соответствие каждому значению одного из входов НС. В этом случае при наличии этого значения соответствующий ему вход устанавливается в 1 или в 0 при противном случае. К сожалению, данный способ не является панацеей, ибо при большом количестве вариантов входного значения число входов НС разрастается до огромного количества. Это резко увеличит затраты времени на обучение. В качестве варианта обхода этой проблемы можно использовать несколько другое решение. В соответствие каждому значению входного параметра ставится бинарный вектор, каждый разряд которого соответствует отдельному входу НС.

Литература

  • Dirk Emma Baestaens, Willem Max Van Den Bergh, Douglas Wood, «Neural Network Solution for Trading in Financial Markets», Pitman publishing
  • R. M. Hristev, «Artifical Neural Networks»
  • С. Короткий, «Нейронные сети: Алгоритм обратного распространения»
  • С. Короткий, «Нейронные сети: Основные положения»

Нейросеть | BaseGroup Labs

Назначение

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

Основным достоинством нейронных сетей является возможность эффективно строить нелинейные зависимости, более точно описывающие наборы данных по сравнению с линейными методами статистики.

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

Примеры применения

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

Медицинская диагностика. Алгоритм, обрабатывая накопленные данные клинических исследований, моделирует сложные зависимости между симптомами и заболеваниями. Это позволяет поставить верный диагноз, произвести мониторинг состояния пациента, оценить эффективность лечения…

Прогноз остатков на счетах. Используя информацию об ежедневных остатках на счетах клиентов, обработчик преобразует ее во временные ряды и построит прогноз остатка на будущее. Благодаря этому появляется возможность управлять ликвидностью банка.

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

Описание алгоритма

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

В нейронных сетях нейроны объединяются в слои, при этом выходы нейронов предыдущего слоя являются входами нейронов следующего слоя. В каждом слое нейроны выполняют параллельную обработку данных.

Алгоритм построения нейронных сетей и их применение в конкретных задачах подробно рассматриваются в статьях «Нейронные сети — математический аппарат», «Применение нейронных сетей для задач классификации» и «NeuralBase — нейросеть за 5 минут».

Обучение нейронной сети с учителем, без учителя, с подкреплением

Обучить нейронную сеть можно разными способами: с учителем, без учителя, с подкреплением. Но как выбрать оптимальный алгоритм и чем они отличаются? Есть несколько способов собрать мебель из IKEA. Каждый из них приводит к собранному дивану или стулу. Но в зависимости от предмета мебели и его составляющих один способ будет более разумным, чем другие.

Есть руководство по эксплуатации и все нужные детали? Просто следуйте инструкции. Ну как, получается? Можно выбросить руководство и работать самостоятельно. Но стоит перепутать порядок действий, и уже вам решать, что делать с этой кучей деревянных болтов и досок.

Все то же самое с глубоким обучением (deep learning). Разработчик предпочтет алгоритм с конкретным способом обучения, учитывая вид данных и стоящую перед ним задачу.

Результат обучения нейронной сети — кластеризация изображений

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

Обучение с частичным привлечением учителя представляет собой нечто среднее. Оно использует небольшое количество размеченных данных и большой набор неразмеченных. А обучение с подкреплением тренирует алгоритм при помощи системы поощрений. Агент получает обратную связь в виде вознаграждений за правильные действия. Похожим образом дрeссируют животных.

Для каждого способа обучения рассмотрим примеры подходящих для него данных и задач.

Обучение с учителем

Обучение с учителем (supervised learning) предполагает наличие полного набора размеченных данных для тренировки модели на всех этапах ее построения.

Наличие полностью размеченного датасета означает, что каждому примеру в обучающем наборе соответствует ответ, который алгоритм и должен получить. Таким образом, размеченный датасет из фотографий цветов обучит нейронную сеть, где изображены розы, ромашки или нарциссы. Когда сеть получит новое фото, она сравнит его с примерами из обучающего датасета, чтобы предсказать ответ.

Пример обучения с учителем — классификация (слева), и дальнейшее ее использование для сегментации и распознавания объектов

В основном обучение с учителем применяется для решения двух типов задач: классификации и регрессии.

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

А вот задачи регрессии связаны с непрерывными данными. Один из примеров, линейная регрессия, вычисляет ожидаемое значение переменной y, учитывая конкретные значения x.

Более утилитарные задачи машинного обучения задействуют большое число переменных. Как пример, нейронная сеть, предсказывающая цену квартиры в Сан-Франциско на основе ее площади, местоположения и доступности общественного транспорта. Алгоритм выполняет работу эксперта, который рассчитывает цену квартиры исходя из тех же данных.

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

Обучение без учителя

Идеально размеченные и чистые данные достать нелегко. Поэтому иногда перед алгоритмом стоит задача найти заранее не известные ответы. Вот где нужно обучение без учителя.

В обучении без учителя (unsupervised learning) у модели есть набор данных, и нет явных указаний, что с ним делать. Нейронная сеть пытается самостоятельно найти корелляции в данных, извлекая полезные признаки и анализируя их.

Кластеризация данных на основе общих признаков

В зависимости от задачи модель систематизирует данные по-разному.

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

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

Обучение с частичным привлечением учителя

Это золотая середина.

Обучение с частичным привлечением учителя (semi-supervised learning) характеризуется своим названием: обучающий датасет содержит как размеченные, так и неразмеченные данные. Этот метод особенно полезен, когда трудно извлечь из данных важные признаки или разметить все объекты – трудоемкая задача.

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

Этот метод машинного обучения распространен для анализа медицинских изображений, таких как сканы компьютерной томографии или МРТ. Опытный рентгенолог может разметить небольшое подмножество сканов, на которых выявлены опухоли и заболевания. Но вручную размечать все сканы — слишком трудоемкая и дорогостоящая задача. Тем не менее нейронная сеть может извлечь информацию из небольшой доли размеченных данных и улучшить точность предсказаний по сравнению с моделью, обучающейся исключительно на неразмеченных данных.

Популярный метод обучения, для которого требуется небольшой набор размеченных данных, заключается в использовании генеративно-состязательной сети или GAN.

Представьте себе соревнование двух нейронных сетей, где каждая пытается перехитрить другую. Это GAN. Одна из сетей, генератор, пытается создать новые объекты данных, которые имитируют обучающую выборку. Другая сеть, дискриминатор, оценивает, являются ли эти сгенерированные данные реальными или поддельными. Сети взаимодействуют и циклично совершенствуются, поскольку дискриминатор старается лучше отделять подделки от оригиналов, а генератор пытается создавать убедительные подделки.

Как работает GAN: дискриминатору «D» показывают исходные изображения и данные, созданные генератором «G». Дискриминатор должен определить, какие изображения являются реальными, а какие поддельными.

Обучение с подкреплением

Видеоигры основаны на системе стимулов. Завершите уровень и получите награду. Победите всех монстров и заработаете бонус. Попали в ловушку – конец игры, не попадайте. Эти стимулы помогают игрокам понять, как лучше действовать в следующем раунде игры. Без обратной связи люди бы просто принимали случайные решения и надеялись перейти на следующий игровой уровень.

Обучение с подкреплением (reinforcement learning) действует по тому же принципу. Видеоигры — популярная тестовая среда для исследований.

Результат обучения с подкреплением — «агент» проходит трассу, не выезжая за ее пределы. Далее можно добивиться повышения скорости прохождения трассы.

Агенты ИИ пытаются найти оптимальный способ достижения цели или улучшения производительности для конкретной среды. Когда агент предпринимает действия, способствующие достижению цели, он получает награду. Глобальная цель — предсказывать следующие шаги, чтобы заработать максимальную награду в конечном итоге.

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

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

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


Интересные статьи:

Виды и классификация нейронных сетей.

Основные типы

 

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

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

Элементарным преобразователем внутри любой нейронной сети является искусственный нейрон. В этой и других статьях для простоты мы будем называть его просто нейроном.

Теперь перейдем непосредственно к классификации нейронных сетей (НС). 

Итак, очень многие начинающие знакомиться с нейроинформатикой вообще не видят различий между архитектурами сетей, и любая нейронная сеть для них – это однослойный или многослойный перцептрон – сеть прямого распространения, итерационно обучающаяся с учителем. Как вы увидите далее, это далеко от истины.

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

К сетям, обучающимся без учителя (самообучающимся или самоорганизующимся) относят, например, сети Кохонена и адаптивного резонанса, различающиеся корректирующими соотношениями и форматами представления входных данных. И эти сети тоже – прямого распространения.

А вот обратные связи от выходов к предыдущим слоям имеют, например сети Хопфилда, Коско и Хэмминга. Внутренние различия их архитектур, а также способов представления и обработки сигналов приводят к тому, что они могут решать совершенно разные задачи.

Как классифицировать нейронные сети?

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

  1. По способу обучения
  2. По топологии
  3. По модели НС
  4. По способу настройки весовых коэффициентов
  5. По задачам, решаемым при помощи НС

Ниже на рисунке показана наиболее универсальная классификация по первым четырем признакам.

Универсальная классификация нейронных сетей

 

Классификация нейронных сетей по топологии

 

Классификация нейронных сетей по типу решаемой задачи

 

На изображении ниже показана взаимосвязь между решаемой задачей и используемом типом НС.

 Выводы

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

P.S. Если по вашему мнению, мы забыли какой-то тип нейронных сетей, напишите об этом ниже в комментариях! 

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Нейронные сети. Пугающий пример — Блог Артема Краснова

В 2016 году искусственный интеллект AlphaGo обыграл лучшего игрока в го Ли Седоля со счетом 4-1. Сама по себе игра го считалась неподходящей для машинной логики, поэтому компьютер одолел человека значительно позже, чем в шахматы, где машины превзошли лучших из хомо сапиенсов 20 лет назад. Но пугает не это.

 

Как известно, нейронные сети обучаются на примерах, скажем, чтобы они распознавали человеческие лица, им «показывают» огромное количество фотографий (которые берутся в том числе с наших юзерпиков в соцсетях). Примерно также обучался интеллект AlphaGo — на огромном массиве партий, в которых человек играл против человека.

В прошлом году вышла новая версия программы AlphaGo Zero, которая не использовала человеческий опыт. Она обучалась с нуля, играя против себя. Нейронной сети «объяснили» правила игры в го и больше ничего.

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

Результат? Через три дня такой практики версия Zero обыграла первую, обученную человеком, сеть AlphaGo Lee в 100 партиях из 100. Ту самую программу, которая победила Ли Седоля.

Через 21 день обучения AlphaGo Zero достигла уровня модифицированной версии AlphaGo Masters, которая победила 60 лучших игроков в го, включая Ли Седоля — последнего в трех партиях из трех. Еще через 40 дней Zero была признана лучшим игроком в го из когда-либо существовавших.

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

Но го, повторюсь, является довольно сложной игрой для искусственного интеллекта. Что до шахмат, то за четыре часа (!) самообучения AlphaZero победила компьютерную программу Stockfish 8, которая отличалась одним из самых высоких уровней мастерства.

Счет, правда, был не совсем сухой — 25 побед белыми, 3 победы черными, остальные ничьи (при таком уровне игроков право первого хода имеет важное значение). Причем если Stockfish 8 вынуждена анализировать порядка 70 млн комбинаций в секунду, то более гибкий алгоритм нейронной сети выбирает из 80 тысяч.

Еще более разгромным было преимущество «альфы» в игре сёги — японском аналоге шахмат: здесь нейронная сеть одолела программу Elmo со счетом 90:8, две игры в ничью.

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

Впрочем, логические игры все же являются абстракциями, удобными для искусственного интеллекта. Черная пешка не может подкупить белого слона, а ферзь не перестанет ходить по прямой из-за смерти любимого коня. «Жизненный интеллект» требует гораздо большего разнообразия и гибкости.

И поэтому активно идут работы над универсальным искусственным интеллектом, который, в отличие от узкоспециализированных, способен решить любую интеллектуальную задачу.

И вот здесь нас ждет еще несколько сюрпризов. К примеру, популярная игра GTA5 используется для обучения роботов-водителей. На первый взгляд, идея выглядит бредовой, тем более, «гэ-тэ-а» поощряет жестокость и насилие, что порождает самые жуткие аллюзии на «Терминатора». На самом деле разработчики автопилота используют лишь детальный движок GTA5 для эмуляции дорожных ситуаций, чтобы не зацикливать программу только на «лабораторных» сценариях. Хорошая графика и близкая к реальной физика позволяют научить искусственный интеллект правильному распознаванию любых объектов и поведению в сложных ситуациях, от банальных до критических. Это не исключает обучения «на натуре», но можно представить, насколько быстрее и разнообразнее будет натаскивание нейронных сетей, подобных AlphaZero, на компьютерных стимуляциях. Тем более, такое обучение почти бесплатно.

Вы все еще уверены, что автопилот не для России, потому что у нас снег и не все знаки логичны? Я уверен, одним из этапов обучения будет езда по «слепому» виртуальному городу, где не видно ни разметки, ни знаков, а половина водителей пьяные.

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

Хотя эксперты уверены, что искусственный интеллект еще долго будет слишком «узкоспециализированным» для вызова человеку, меня заботит вот какая мысль. Я не очень любил логические игры, но меня несколько раз по уши засосало в военные стратегии или игры типа SimSity. Позже, читая о баталиях, я находил массу параллелей с играми, которые пусть с некоторой условностью, но воспроизводили реальность. В хорошей военной стратегии вполне можно научиться оптимально распределять ресурсы, вычислять наиболее вероятный ход противника, организовывать снабжение армии…

Отсюда вопрос: что будет, если AlphaZero пару месяцев поиграет сама с собой в лучшую военную стратегию, которую можно купить долларов за 100?

Поделиться ссылкой:

Похожее

Самоорганизующиеся карты Кохонена — математический аппарат

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

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

Основы

Алгоритм функционирования самообучающихся карт (Self Organizing Maps — SOM) представляет собой один из вариантов кластеризации многомерных векторов. Примером таких алгоритмов может служить алгоритм k-ближайших средних (k-means). Важным отличием алгоритма SOM является то, что в нем все нейроны (узлы, центры классов…) упорядочены в некоторую структуру (обычно двумерную сетку).

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

Структура

SOM подразумевает использование упорядоченной структуры нейронов. Обычно используются одно и двумерные сетки. T, где n определяется размерностью исходного пространства (размерностью входных векторов). Применение одно и двумерных сеток связано с тем, что возникают проблемы при отображении пространственных структур большей размерности (при этом опять возникают проблемы с понижением размерности до двумерной, представимой на мониторе).

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

Рисунок 1. Расстояние между нейронами на карте для шестиугольной (а) и четырехугольной (б) сеток. При этом легко заметить, что для шестиугольной сетки расстояние между нейронами больше совпадает с евклидовым расстоянием, чем для четырехугольной сетки.

Количество нейронов в сетке определяет степень детализации результата работы алгоритма, и в конечном счете от этого зависит точность обобщающей способности карты.

Начальная инициализация карты

При реализации алгоритма SOM заранее задается конфигурация сетки (прямоугольная или шестиугольная), а также количество нейронов в сети. Некоторые источники рекомендуют использовать максимально возможное количество нейронов в карте. При этом начальный радиус обучения (neighborhood в англоязычной литературе) в значительной степени влияет на способность обобщения при помощи полученной карты.

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

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

  • Инициализация случайными значениями, когда всем весам даются малые случайные величины.
  • Инициализация примерами, когда в качестве начальных значений задаются значения случайно выбранных примеров из обучающей выборки
  • Линейная инициализация. В этом случае веса инициируются значениями векторов, линейно упорядоченных вдоль линейного подпространства, проходящего между двумя главными собственными векторами исходного набора данных. Собственные вектора могут быть найдены например при помощи процедуры Грама-Шмидта.

Обучение

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

\mid\mid\mathbf {x}- \mathbf {w_c}\mid \mid = \min_i \{ \mid \mid \mathbf {x}- \mathbf {w_i}\mid \mid \}

После того, как найден нейрон-победитель, производится корректировка весов нейросети. При этом вектор, описывающий нейрон-победитель и вектора, описывающие его соседей в сетке перемещаются в направлении входного вектора. Это проиллюстрировано на рисунке 2 для двумерного вектора.

Рисунок 2. Подстройка весов нейрона победителя и его соседей. Координаты входного вектора отмечены крестом, координаты узлов карты после модификации отображены серым цветом. Вид сетки после модификации отображен штриховыми линиями.

При этом для модификации весовых коэффициентов используется формула:

w_i (t+1)= \mathbf w_i(t) + h_{ci}(t) * [\mathbf x(t) — \mathbf w (t)],

где t обозначает номер эпохи (дискретное время). При этом вектор x(t) выбирается случайно из обучающей выборки на итерации t. Функция h(t) называется функцией соседства нейронов и представляет собой невозрастающую функцию от времени и расстояния между нейроном-победителем и соседними нейронами в сетке. {- \frac{d}{2\sigma (t))}}

При этом лучший результат получается при использовании Гауссовой функции расстояния.

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

Рассмотрим теперь функцию скорости обучения a(t). Эта функция также представляет собой функцию, убывающую от времени. Наиболее часто используются два варианта этой функции: линейная и обратно пропорциональная времени вида a(t) = \frac {\ A } {\ {t + B} }, где A и B — это константы.

Применение этой функции приводит к тому, что все вектора из обучающей выборки вносят примерно равный вклад в результат обучения.

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

Применение алгоритма

Так как алгоритм SOM сочетает в себе два основных направления – векторное квантование и проецирование, то можно найти и основные применения этого алгоритма. Данную методику можно использовать для поиска и анализа закономерностей в исходных данных. После того, как нейроны размещены на карте, полученная карта может быть отображена. Рассмотрим различные способы отображения полученной карты.

Раскраска, порожденная отдельными компонентами

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

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

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

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

Отображение кластеров

Кластером будет являться группа векторов, расстояние между которыми внутри этой группы меньше, чем расстояние до соседних групп. Структура кластеров при использовании алгоритма SOM может быть отображена путем визуализации расстояния между опорными векторами (весовыми коэффициентами нейронов).

При использовании этого метода чаще всего используется унифицированная матрица расстояний (u-matrix). Для этого вычисляется расстояние между вектором весов нейрона в сетке и его ближайшими соседями. Затем эти значения используются для определения цвета, которым этот узел будет отрисован.

Обычно используют градации серого, причем чем больше расстояние, тем темнее отрисовывается узел. При таком использовании узлам с наибольшим расстоянием между ними и соседями соответствует черный цвет, а близлежащим узлам — белый.

Литература

  • Ф.Уоссермен, «Нейрокомпьютерная техника» , М.: Мир, 1992
  • А.Ежов, С.Шумский, «Нейрокомпьютинг и его применение в экономике и бизнесе»,1998.
  • T.Kohonen, «Self-Organizing Maps», Springer, 1995.
  • T.Kohonen, «Self-Organizing Maps»(2-nd edition), Springer, 1997.
  • Juho Vensano, «Data Mining Techniques Baseg on the Self Organized Map»

 

Другие материалы:

Loginom Community Edition — аналитика, доступная каждому

Интервью Алексея Арустамова для медиахолдинга РБК

Объяснение: Нейронные сети | MIT News

За последние 10 лет самые эффективные системы искусственного интеллекта, такие как распознаватели речи на смартфонах или новейший автоматический переводчик Google, были созданы с помощью техники, называемой «глубокое обучение».

Глубокое обучение — это фактически новое название подхода к искусственному интеллекту, называемого нейронными сетями, который входил и выходил из моды уже более 70 лет. Нейронные сети были впервые предложены в 1944 году Уорреном Маккаллоу и Уолтером Питтсом, двумя исследователями из Чикагского университета, которые переехали в Массачусетский технологический институт в 1952 году в качестве членов-основателей того, что иногда называют первым отделом когнитивной науки.

Нейронные сети были основным направлением исследований как нейробиологии, так и информатики до 1969 года, когда, согласно знаниям информатики, они были убиты математиками Массачусетского технологического института Марвином Мински и Сеймуром Папертом, которые через год стали содиректорами. новой лаборатории искусственного интеллекта Массачусетского технологического института.

Затем эта техника возродилась в 1980-х, снова потеряла свою актуальность в первом десятилетии нового века и вернулась, как громила во втором, во многом благодаря возросшей вычислительной мощности графических чипов.

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

Важные вопросы

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

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

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

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

Умы и машины

У нейронных сетей, описанных Маккаллоу и Питтсом в 1944 году, были пороговые значения и веса, но они не были расположены по слоям, и исследователи не указали какой-либо механизм обучения. Маккалоу и Питтс показали, что нейронная сеть, в принципе, может вычислить любую функцию, которую может выполнить цифровой компьютер.Результатом стало больше нейробиологии, чем информатики: суть заключалась в том, чтобы предположить, что человеческий мозг можно рассматривать как вычислительное устройство.

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

Первая обучаемая нейронная сеть, Персептрон, была продемонстрирована психологом Корнельского университета Фрэнком Розенблаттом в 1957 году.Дизайн персептрона был очень похож на дизайн современной нейронной сети, за исключением того, что он имел только один слой с регулируемыми весами и порогами, зажатый между входным и выходным слоями.

Персептроны были активной областью исследований как в психологии, так и в молодой дисциплине информатики до 1959 года, когда Мински и Паперт опубликовали книгу под названием «Персептроны», которая продемонстрировала, что выполнение некоторых довольно распространенных вычислений на персептронах будет непрактично трудоемким.

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

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

Периодичность

Однако к 1980-м годам исследователи разработали алгоритмы для изменения весов и пороговых значений нейронных сетей, которые были достаточно эффективными для сетей с более чем одним слоем, устранив многие ограничения, указанные Мински и Папертом.Поле пережило ренессанс.

Но интеллектуально в нейронных сетях есть что-то неудовлетворительное. Достаточное обучение может изменить настройки сети до такой степени, что она сможет с пользой классифицировать данные, но что означают эти настройки? На какие особенности изображения смотрит распознаватель объектов и как он объединяет их в отличительные визуальные подписи автомобилей, домов и кофейных чашек? Глядя на веса отдельных связей, мы не ответим на этот вопрос.

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

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

Современные графические процессоры позволили однослойным сетям 1960-х годов и двух- или трехуровневым сетям 1980-х годов превратиться в современные 10-, 15- и даже 50-уровневые сети. Это то, что означает «глубокое» в «глубоком обучении» — глубина слоев сети. И в настоящее время глубокое обучение отвечает за самые эффективные системы почти во всех областях исследований искусственного интеллекта.

Под капотом

Непрозрачность сетей по-прежнему беспокоит теоретиков, но и в этом направлении есть успехи. Помимо руководства Центром мозга, разума и машин (CBMM), Поджио возглавляет исследовательскую программу центра в области теоретических основ интеллекта. Недавно Поджио и его коллеги из CBMM опубликовали теоретическое исследование нейронных сетей, состоящее из трех частей.

В первой части, опубликованной в прошлом месяце в International Journal of Automation and Computing , рассматривается диапазон вычислений, которые могут выполнять сети с глубоким обучением, и когда глубокие сети предлагают преимущества перед более мелкими.Вторая и третья части, выпущенные в виде технических отчетов CBMM, посвящены проблемам глобальной оптимизации или гарантии того, что сеть нашла настройки, наилучшим образом согласующиеся с данными обучения, и переобучения, или случаев, когда сеть становится настроенной таким образом. к особенностям его обучающих данных, которые он не может обобщить на другие экземпляры тех же категорий.

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

Объяснение искусственного интеллекта, глубокого обучения и нейронных сетей

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

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

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

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

Глубокое обучение Введение

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

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

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

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

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

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

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

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

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

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

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

Более глубокое погружение в глубокое обучение — без каламбура

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

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

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

  • Нейронные сети с прямой связью

  • Рекуррентная нейронная сеть

  • Многослойные перцептроны (MLP)

  • Сверточные нейронные сети

  • Рекурсивные нейронные сети

  • Сети глубоких убеждений

  • Сверточные карты

    0003

    Самоорганизующиеся сети глубоких убеждений

  • Машины глубинного Больцмана

  • Составные автокодировщики с шумоподавлением

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

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

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

Резюме

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

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

Хотя сценарий, похожий на терминатора, маловероятен в ближайшее время, за развитием методов и приложений искусственного интеллекта, безусловно, будет очень интересно наблюдать!

Чтобы узнать больше, ознакомьтесь с моей книгой AI для людей и бизнеса: основа для улучшения человеческого опыта и успеха в бизнесе .

Об авторе

Алекс — основатель InnoArchiTech и InnoArchiTech Institute, а также автор книги AI for People and Business , опубликованной O’Reilly Media.

10 архитектур нейронных сетей, которые необходимо изучить исследователям машинного обучения | Джеймс Ле | Примечания к данным

Модели без памяти являются стандартным подходом к этой задаче. В частности, модели авторегрессии могут предсказывать следующий член в последовательности из фиксированного числа предыдущих членов, используя «отводы задержки; и нейронные сети с прямой связью представляют собой обобщенные авторегрессионные модели, которые используют один или несколько слоев нелинейных скрытых единиц. Однако, если мы дадим нашей генеративной модели какое-то скрытое состояние и если мы дадим этому скрытому состоянию его собственную внутреннюю динамику, мы получим гораздо более интересный вид модели: она может хранить информацию в своем скрытом состоянии в течение длительного времени.Если динамика зашумлена и то, как она генерирует выходные данные из своего скрытого состояния, зашумлено, мы никогда не сможем узнать его точное скрытое состояние. Лучшее, что мы можем сделать, — это вывести распределение вероятностей в пространстве векторов скрытого состояния. Этот вывод возможен только для двух типов модели скрытого состояния.

Первоначально введено в книге Джеффри Элмана « Поиск структуры во времени » (1990) [3] , рекуррентные нейронные сети (RNN) в основном являются перцептронами; однако, в отличие от перцептронов, которые не имеют состояния, у них есть связи между проходами, связи во времени.RNN очень мощны, потому что они сочетают в себе 2 свойства: 1) распределенное скрытое состояние, которое позволяет им эффективно хранить большой объем информации о прошлом; и 2) нелинейная динамика, которая позволяет им обновлять свое скрытое состояние сложными способами. Имея достаточно нейронов и времени, RNN могут вычислить все, что может вычислить ваш компьютер. Итак, какое поведение могут проявлять RNN? Они могут колебаться, они могут оседать на точечных аттракторах, они могут вести себя хаотично. И они потенциально могли бы научиться реализовывать множество небольших программ, каждая из которых захватывает крупицу знаний и запускается параллельно, взаимодействуя для создания очень сложных эффектов.

Одна большая проблема с RNN — проблема исчезающего (или взрывающегося) градиента, когда, в зависимости от используемых функций активации, информация быстро теряется с течением времени. Интуитивно это не составит особой проблемы, потому что это просто веса, а не состояния нейронов, но веса во времени на самом деле являются тем местом, где хранится информация из прошлого; если вес достигает значения 0 или 1 000 000, предыдущее состояние не будет очень информативным. В принципе, RNN могут использоваться во многих областях, поскольку большинство форм данных, которые фактически не имеют временной шкалы (т. е. в отличие от звука или видео) можно представить в виде последовательности. Изображение или строку текста можно загружать по одному пикселю или символу за раз, поэтому веса, зависящие от времени, используются для того, что было раньше в последовательности, а не фактически от того, что произошло за x секунд до этого. В общем, повторяющиеся сети — хороший выбор для продвижения или дополнения информации, такой как автозаполнение.

4 — Долговременная / кратковременная память

Hochreiter & Schmidhuber (1997) [4] решил проблему получения RNN запоминания на долгое время, построив так называемые сети долговременной памяти ( LSTM) .Сети LSTM пытаются бороться с проблемой исчезающего / взрывающегося градиента, вводя вентили и явно заданную ячейку памяти. Ячейка памяти хранит предыдущие значения и сохраняет их, если только «ворота забывания» не приказывают ячейке забыть эти значения. LSTM также имеют «входной вентиль», который добавляет новый материал в ячейку, и «выходной вентиль», который решает, когда переходить по векторам из ячейки в следующее скрытое состояние.

Напомним, что для всех RNN значения, поступающие из X_train и H_previous, используются для определения того, что происходит в текущем скрытом состоянии.И результаты текущего скрытого состояния (H_current) используются, чтобы определить, что происходит в следующем скрытом состоянии. LSTM просто добавляют слой ячеек, чтобы гарантировать, что передача информации о скрытом состоянии от одной итерации к следующей достаточно высока. Другими словами, мы хотим запоминать материалы из предыдущих итераций столько, сколько необходимо, и ячейки в LSTM позволяют этому происходить. Было показано, что LSTM способны изучать сложные последовательности, такие как написание Шекспира или сочинение примитивной музыки.

5 — Блокированный рекуррентный блок

Блокированный повторный блок (ГРУ) — это небольшая вариация LSTM. Они принимают X_train и H_previous в качестве входных данных. Они выполняют некоторые вычисления, а затем передают H_current. На следующей итерации X_train.next и H_current используются для дополнительных вычислений и так далее. Что отличает их от LSTM, так это то, что GRU не нуждается в уровне ячеек для передачи значений. Вычисления в каждой итерации гарантируют, что передаваемые значения H_current либо сохраняют большой объем старой информации, либо запускаются скачком с большим объемом новой информации.

В большинстве случаев ГРУ работают так же, как LSTM, с самой большой разницей в том, что ГРУ немного быстрее и их легче запускать (но также немного менее выразительно). На практике они, как правило, нейтрализуют друг друга, так как вам нужна более крупная сеть, чтобы восстановить некоторую выразительность, что, в свою очередь, сводит на нет преимущества в производительности. В некоторых случаях, когда дополнительная выразительность не требуется, ГРУ могут превзойти LSTM. Вы можете узнать больше о ГРУ из статьи Джунён Чанг 2014 года « Эмпирическая оценка стробированных рекуррентных нейронных сетей при моделировании последовательностей » [5].

6 — Сеть Хопфилда

Рекуррентные сети нелинейных единиц обычно очень трудно анализировать. Они могут вести себя по-разному: переходить в стабильное состояние, колебаться или следовать хаотическим траекториям, которые невозможно предсказать в далеком будущем. Чтобы решить эту проблему, Джон Хопфилд представил Hopfield Net в своей статье 1982 года « Нейронные сети и физические системы с возникающими коллективными вычислительными возможностями » [6].Сеть Хопфилда (HN) — это сеть, в которой каждый нейрон соединен с каждым другим нейроном; это полностью запутанная тарелка спагетти, поскольку даже все узлы функционируют как все. Каждый узел вводится перед обучением, затем скрывается во время обучения и выводится после. Сети обучаются путем установки значения нейронов на желаемый образец, после чего можно вычислить веса. После этого веса не меняются. После обучения одному или нескольким шаблонам сеть всегда будет сходиться к одному из изученных шаблонов, потому что сеть стабильна только в этих состояниях.

Есть еще одна вычислительная роль для сетей Хопфилда. Вместо того, чтобы использовать сеть для хранения воспоминаний, мы используем ее для построения интерпретаций сенсорного ввода. Входные данные представлены видимыми единицами, интерпретация представлена ​​состояниями скрытых единиц, а плохая интерпретация представлена ​​энергией.

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

7 — Машина Больцмана

A Машина Больцмана — это тип стохастической рекуррентной нейронной сети.Его можно рассматривать как стохастический, генеративный аналог сетей Хопфилда. Это была одна из первых нейронных сетей, способных изучать внутренние представления, а также представлять и решать сложные комбинаторные задачи. Впервые представили Джеффри Хинтон и Терренс Сейновски в книге « Обучение и повторное обучение на машинах Больцмана » (1986) [7] , Машины Больцмана во многом похожи на сети Хопфилда, но некоторые нейроны помечены как входные нейроны и другие остаются «скрытыми».Входные нейроны становятся выходными нейронами в конце полного обновления сети. Он начинается со случайных весов и учится через обратное распространение. По сравнению с сетью Хопфилда, нейроны в основном имеют бинарные паттерны активации.

Цель обучения алгоритму машинного обучения Больцмана — максимизировать произведение вероятностей, которые машина Больцмана присваивает двоичным векторам в обучающей выборке. Это эквивалентно максимизации суммы логарифмических вероятностей, которые машина Больцмана назначает обучающим векторам.Это также эквивалентно максимизации вероятности того, что мы получим ровно N обучающих примеров, если бы мы сделали следующее: 1) Пусть сеть установится на свое стационарное распределение N разное время без внешнего входа; и 2) Каждый раз производите выборку видимого вектора.

Эффективная процедура мини-пакетного обучения была предложена для машин Больцмана Салахутдиновым и Хинтоном в 2012 году [8].

  • Для положительной фазы сначала инициализируйте скрытые вероятности на уровне 0,5, затем зафиксируйте вектор данных на видимых единицах, затем обновите все скрытые единицы параллельно до сходимости, используя обновления среднего поля.После схождения сети запишите PiPj для каждой подключенной пары устройств и усредните это значение по всем данным в мини-пакете.
  • Для отрицательной фазы: сначала имейте набор «фантастических частиц». Каждая частица имеет значение, которое является глобальной конфигурацией. Затем несколько раз последовательно обновите все юниты в каждой частице фэнтези. Для каждой подключенной пары единиц среднее значение SiSj по всем фантастическим частицам.

В общей машине Больцмана стохастические обновления единиц должны быть последовательными.Существует специальная архитектура, которая позволяет чередовать параллельные обновления, которые намного более эффективны (нет соединений внутри уровня, нет соединений с пропуском уровня). Эта процедура мини-партии делает обновления машины Больцмана более параллельными. Это называется глубокой машиной Больцмана (DBM), общей машиной Больцмана с множеством недостающих соединений.

8 — Сети глубокого убеждения

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

Чтобы преодолеть ограничения обратного распространения, исследователи рассмотрели возможность использования подходов к обучению без учителя. Это помогает сохранить эффективность и простоту использования градиентного метода для настройки весов, но также позволяет использовать его для моделирования структуры сенсорного ввода.В частности, они корректируют веса, чтобы максимизировать вероятность того, что генеративная модель сгенерировала бы сенсорный ввод. Вопрос в том, какую генеративную модель нам следует изучить? Может ли это быть энергетическая модель, подобная машине Больцмана? Или причинная модель из идеализированных нейронов? Или гибрид двух?

Йошуа Бенжио предложил Deep Belief Networks в своей статье 2007 г. куча.Этот метод также известен как жадное обучение, где жадность означает принятие локально оптимальных решений для получения приличного, но, возможно, не оптимального ответа. Сеть убеждений — это ориентированный ациклический граф, составленный из стохастических переменных. Используя сеть убеждений, мы можем наблюдать некоторые из переменных, и мы хотели бы решить 2 проблемы: 1) проблема вывода: сделать выводы о состояниях ненаблюдаемых переменных и 2) проблема обучения: настроить взаимодействия между переменными, чтобы сделать сеть с большей вероятностью сгенерирует обучающие данные.

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

9 — Автоэнкодеры

Автоэнкодеры — это нейронные сети, разработанные для обучения без учителя, т.е.е. когда данные не помечены. В качестве модели сжатия данных они могут использоваться для кодирования заданного ввода в представление меньшего размера. Затем можно использовать декодер для восстановления входных данных из закодированной версии.

Работа, которую они выполняют, очень похожа на Анализ главных компонентов , который обычно используется для представления заданных входных данных с использованием меньшего количества измерений, чем было изначально. Так, например, в НЛП, если вы представляете слово как вектор из 100 чисел, вы можете использовать PCA для представления его в 10 числах.Конечно, это приведет к потере некоторой информации, но это хороший способ представить свой ввод, если вы можете работать только с ограниченным числом измерений. Кроме того, это хороший способ визуализировать данные, потому что вы можете легко нанести уменьшенные размеры на двухмерный график, а не на 100-мерный вектор. Автоэнкодеры выполняют аналогичную работу — разница в том, что они могут использовать нелинейные преобразования для кодирования заданного вектора в меньшие размеры (по сравнению с PCA, который является линейным преобразованием).Таким образом, он может генерировать более сложные кодировки.

Введение в глубокое обучение и нейронные сети — глубокое обучение для новичков (1) | Науа Канг

Добро пожаловать в первый пост из моей серии Deep Learning for Rookies , написанной мной, новичком. Я пишу как стратегию обучения с подкреплением , чтобы лучше обрабатывать и усваивать знания. Но если вы новичок в области глубокого обучения, то это также для вас, потому что мы можем учиться вместе, как новички !

( Вы также можете прочитать этот пост на моем веб-сайте , который поддерживает LaTeX с MathJax )

Источник: deepinstinct.com

Глубокое обучение, вероятно, сейчас является одной из самых актуальных технических тем. Как крупные корпорации, так и молодые стартапы стремятся к этому золотому дню. Если вы считаете, что большие данные важны, вам следует позаботиться о глубоком обучении. The Economist говорит, что данные — это новая нефть в 21 веке. Если данные — это сырая нефть, базы данных и хранилища данных — это буровые установки, которые копают и перекачивают данные в Интернете, тогда подумайте о глубоком обучении как о нефтеперерабатывающем заводе, который, наконец, превращает сырую нефть во все полезные и полезные конечные продукты.Под землей может быть спрятано много «ископаемого топлива», и на рынке есть много буровых установок и насосов, но без правильных инструментов для нефтепереработки вы не получите ничего ценного. Вот почему так важно глубокое обучение. Это часть общей картины, основанной на данных.

Хорошая новость в том, что у нас не будет исчерпания данных, и наша «перерабатывающая машина» становится все лучше и лучше. Сегодня данные генерируются практически при любых действиях в сети. Таким образом, данные, в отличие от нефти, «устойчивы» и «стремительно растут».Между тем, пока данные не попадают в мусор, глубокое обучение не дает мусора. Следовательно, чем больше данных, тем лучше. (Ознакомьтесь с публикацией Трента МакКонаги о блокчейнах для ИИ как о решении проблемы репутации данных!).

Кроме того, этот «нефтеперерабатывающий завод» совершенствуется как в программном, так и в аппаратном отношении. Алгоритмы глубокого обучения улучшились за последние несколько десятилетий, и разработчики по всему миру внесли свой вклад в такие фреймворки с открытым исходным кодом, как TensorFlow, Theano, Keras и Torch, которые позволяют людям легко создавать алгоритмы глубокого обучения, как если бы они играли с деталями LEGO. .И благодаря спросу со стороны геймеров по всему миру графические процессоры (графические процессоры) позволяют нам использовать алгоритмы глубокого обучения для создания и обучения моделей с впечатляющими результатами в кратчайшие сроки! Итак, всем родителям, которым не нравятся ваши дети, играющие в игры: у игр есть своя серебряная подкладка . ..

Вы, наверное, читали новости и знаете, что глубокое обучение — это секретный рецепт многих захватывающих разработок, благодаря которым многие из наших сбываются самые смелые мечты и, возможно, кошмары.Кто бы мог подумать, что AlphaGo DeepMind сможет победить Ли Седола, одного из лучших игроков в го, в самой глубокой настольной игре, которая может похвастаться большим количеством возможных ходов, чем атомов во всей вселенной? Многие люди, в том числе и я, никогда этого не ожидали. Это казалось невозможным. Но теперь он здесь. Глубокое обучение побеждает нас в самой сложной настольной игре. Когда пробуждается ИИ? Некоторые думают, что скоро будет.

Ли Седол против AlphaGo в 2016 году, Источник: The New Yorker

И мы не говорили о других впечатляющих приложениях, основанных на глубоком обучении, таких как Google Translate и автономное вождение Mobileye.Вы называете это. Я забыл упомянуть, что глубокое обучение также побеждает врачей в диагностике рака? Глубокое обучение отлично справляется со многими задачами с меньшим количеством ошибок, чем люди! Это не только автоматизация скучных вещей, но и забавных вещей. Вздох, мы земные люди…

Уважаемый господин Президент, это не иностранцы. Это автоматизация.

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

  1. Идентификация лиц (или, в более общем смысле, категоризация изображений)
  2. Чтение рукописных цифр и текстов
  3. Распознавание речи (больше не нужно записывать интервью самостоятельно)
  4. Перевести языки
  5. Играть в компьютерные игры
  6. Управлять беспилотными автомобилями (и другими типами роботов)

И многое другое.Просто сделайте паузу на секунду и представьте себе все, чего можно достичь с помощью глубокого обучения. Это потрясающе и, возможно, немного страшно!

Ладно, подожди секунду. Вы, наверное, видели такие термины, как искусственный интеллект ( AI ), машинное обучение ( ML ) и глубокое обучение ( DL ), которые часто встречаются в вашей ленте новостей в социальных сетях. В чем разница между ними? Они означают одно и то же или что? Отличный вопрос. Прежде чем мы углубимся в глубокое обучение, важно постепенно выстроить концептуальную основу этих жаргонов.

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

Источник: Nvidia

Давайте сначала обсудим всеобъемлющий ИИ. Вы, наверное, уже знакомы с тестом Тьюринга . Компьютер проходит тест Тьюринга, если человек, задав ему несколько письменных вопросов, не может определить, исходят ли письменные ответы от другого человека или от компьютера.Согласно Искусственный интеллект: современный подход , Питер Норвиг и Стюарт Рассел определяют 4 способности, которыми компьютер должен обладать, чтобы пройти тест Тьюринга:

  • Обработка естественного языка: для успешного общения на английском языке
  • Знания Представление: для хранения того, что компьютер читает
  • Автоматическое рассуждение: для использования сохраненных знаний для ответа на вопросы и создания новых выводов
  • Машинное обучение: для адаптации к новым обстоятельствам и выявления новых шаблонов

А, есть термин «машинное обучение»! ML — это обучение алгоритмов обучения, таких как линейная регрессия, KNN, K-средние, деревья решений, случайный лес и SVM с наборами данных, чтобы алгоритмы могли научиться адаптироваться к новой ситуации и находить шаблоны, которые могут быть интересными и важными. Опять же, ML управляется данными. Много странных терминов по алгоритмам обучения? Не волнуйтесь, я их тоже не знаю. Так что в будущем мы будем учиться вместе.

Для обучения машинному обучению набор данных можно пометить, например он поставляется с «листом ответов», сообщающим компьютеру, какой правильный ответ, например, какие электронные письма являются спамом, а какие — нет. Это называется контролируемым обучением , и такие алгоритмы, как линейная регрессия и KNN, используются для такой контролируемой регрессии или классификации .Другие наборы данных могут не быть помечены, и вы буквально говорите алгоритму, например, K-Means, чтобы связать шаблоны или кластера , которые он находит без какого-либо листа ответов. Это называется обучение без учителя . Вот отличный ответ на вопрос о контролируемом и неконтролируемом обучении в Stack Overflow, а также статья о контролируемом и неконтролируемом обучении из блога Оливии Клозе.

Источник: http://oliviaklose.com/

Норвиг и Рассел также упоминают другой тест, называемый «Общий тест Тьюринга », который дополнительно исследует способности восприятия компьютера с помощью физического моделирования.Чтобы пройти его, компьютеру необходимы:

  • Компьютерное зрение: для восприятия объектов в окружающей среде
  • Робототехника: для управления объектами и перемещения

Так что же теперь с DL? Помните общие задачи, с которыми глубокое обучение способно справиться из приведенного выше раздела? Такие вещи, как распознавание лица или рукописного текста, связаны с компьютерным зрением, потому что вы загружаете графику в компьютер для анализа. Другие задачи, такие как языковой перевод или распознавание речи, связаны с обработкой естественного языка (NLP).Таким образом, DL является подветвью ML в том смысле, что в нем также есть набор алгоритмов обучения, которые могут обучаться и учиться на данных, и, в частности, DL питается от нейронных сетей . Более того, DL может работать за пределами области машинного обучения и помогает другим областям, таким как компьютерное зрение и НЛП, так что, надеюсь, ИИ однажды сможет пройти тест Тьюринга и общий тест Тьюринга!

Но что за нейронная сеть, черт возьми? Имитирует ли это поведение реальных нейронных клеток? Или это какой-то волшебный черный ящик? Некоторым из вас представленная информация может показаться чрезмерной, поэтому давайте сделаем перерыв и проверим несколько бесплатных онлайн-ресурсов, чтобы узнать, что вам подходит 🙂 После этого мы сразу перейдем к нейронным сетям.

Нейронные сети и DL часто скрыты за загадочной пеленой. Любой технический жаргон, связанный с этой темой, может запутать новичков. Поскольку DL автоматизирует многие задачи и заменит многих сотрудников в будущем, я лично считаю важным, чтобы все мы были открыты и проявляли любопытство к изучению новых технологий. DL может заменить рабочего, который работает над повторяющимися ручными задачами. Но DL не может заменить ученого или инженера, создающего и обслуживающего приложение DL.

В настоящее время в Интернете уже есть много отличных курсов, руководств и книг по этой теме, например (не исчерпывающий или в определенном порядке):

  1. Нейронные сети и глубокое обучение Майкла Нильсена
  2. Нейронные сети Джеффри Хинтона для машин Обучение
  3. Deep Learning Goodfellow, Bengio и Courville
  4. Grokking Deep Learning Яна Траска,
  5. Глубокое обучение Франсуа Шолле с Python
  6. Udacity’s Deep Learning Nanodegree (не бесплатно, но высокого качества)
  7. AZDEMY’s Deep Learning 15–10 долларов )
  8. CS231n и CS224n Стэнфорда
  9. YouTube-канал Сираджа Раваля

Список можно продолжать и продолжать.У Дэвида Вентури есть пост на freeCodeCamp, в котором перечислены многие другие ресурсы. Посмотрите здесь.

Мы действительно счастливы в эпоху самообразования. Кстати, вы слышали о старшекласснике Абу Кадере из Чикаго? Этот ребенок сам обучился машинному обучению и Tensorflow, структуре глубокого обучения, и помог улучшить диагностику рака груди до 93-99% точности в реальном времени! Он был представлен на Google I / O 2017. Ниже приводится вдохновляющее видео с его историей от Google.

Источник: Google

Хорошо, я надеюсь, что история Абу Кадера заставит вас учиться! Давайте перейдем ко второй основной теме этого поста: введение в нейронные сети.Древний китайский философ Лао-цзы однажды сказал:

«Путешествие в тысячу миль начинается с одного шага».

Итак, мы начнем и закончим этот пост с очень простой нейронной сети. Звучит круто? Wunderbar.

Несмотря на свою недавно обретенную известность, область нейронных сетей вовсе не нова. В 1958 году американский психолог Фрэнк Розенблатт попытался построить «машину, которая чувствует, распознает, запоминает и реагирует как человеческий разум» и назвал ее «Персептрон » .Но Розенблатт не изобрел перцептроны на пустом месте. Фактически, он стоял на плечах гигантов и был вдохновлен предыдущими работами Уоррена Маккалока и Уолтера Питтса 1940-х годов. Черт возьми, это делает нейронные сети или, точнее, перцептрон, динозавром в этом быстро меняющемся мире технологий.

Розенблатт и перцептрон, Источник: The New Yorker

Итак, давайте посмотрим, что такое перцептрон. Во-первых, взгляните на нейронную клетку ниже: дендриты , — это расширения нервной клетки , (в левом нижнем углу графика).Они получают сигналы, а затем передают их телу клетки, которое обрабатывает стимул и решает, следует ли запускать сигналы другим нейронным клеткам. В случае, если эта клетка решает инициировать сигналы, расширение на теле клетки, называемое аксоном , запускает химическую передачу на конце аксона к другим клеткам. Здесь не нужно ничего запоминать. Мы не изучаем нейробиологию, поэтому будет достаточно смутного представления о том, как это работает.

Первоисточник: thinglink.comA Single Perceptron

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

  1. С левой стороны у вас есть нейроны (маленькие кружки) размером x с индексами 1, 2,…, m , несущие ввод данных .
  2. Мы умножаем каждый входной сигнал на вес w, также помеченный индексами 1, 2,…, m , вдоль стрелки (также называемой синапсом ) до большого круга в середине. Итак, w1 * x1 , w2 * x2 , w3 * x3 и так далее.
  3. После того, как все входные данные умножены на вес, мы суммируем их все и добавляем еще одно заранее определенное число, называемое смещением .
  4. Затем сдвигаем результат вправо.Теперь у нас есть эта функция шага в прямоугольнике. Это означает, что если результат шага 3 — любое число, равное или большее 0, то мы получаем 1 в качестве выходных данных, в противном случае, если результат меньше 0, мы получаем 0 в качестве выходных данных.
  5. Выход либо 1, либо 0.

Обратите внимание, что в качестве альтернативы, если вы переместите смещение в правую часть уравнения в функции активации, например, sum (wx) ≥ -b , тогда это -b называется пороговым значением .Таким образом, если сумма входных данных и весов больше или равна пороговому значению, то активация вызывает 1. В противном случае результат активации равен 0. Выберите то, что поможет вам лучше понять, поскольку эти два способа представления взаимозаменяемы.

Иллюстрация использования порогового значения вместо смещения

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

Процедуры персептрона, отмеченные цветами

  1. Входные данные — это подается в перцептрон
  2. Веса умножаются на каждый вход
  3. Суммирование , а затем добавляется смещение
  4. Применяется функция активации . Обратите внимание, что здесь мы используем ступенчатую функцию, но есть и другие, более сложные функции активации, такие как сигмоид , гиперболический тангенс ( tanh ), выпрямитель ( relu ) и другие . Не беспокойтесь, мы рассмотрим многие из них в будущем!
  5. Выходной сигнал либо запускается как 1, либо нет, как 0. Обратите внимание, что мы используем y hat для маркировки выходных данных, созданных нашей моделью персептрона

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

Упрощенное представление перцептрона

Хорошо, вы знаете, как работает перцептрон сейчас же. Это просто механическое умножение с последующим суммированием, а затем некоторая активация . .. вуаля, вы получаете результат. Да, как это вообще может быть похоже на нейроны в человеческом мозгу?

Для понимания перцептронов давайте рассмотрим очень простой пример, который не обязательно реалистичен.Предположим, вы очень заинтересованы после прочтения моего поста и вам нужно решить, изучать DL или нет . На ваше решение влияют 3 фактора:

  1. Если вы заработаете больше денег после освоения DL (Да: 1, Нет: 0)
  2. Легко ли соответствующая математика и программирование (Да: 1, Нет: 0)
  3. Вы можете работать с DL сразу без необходимости в дорогостоящем графическом процессоре (Да: 1, Нет: 0)

Мы используем x1, x2, и x3 в качестве входных переменных для каждого из этих факторов и присваиваем двоичное значение (1 или 0) каждому из них, поскольку ответ просто да или нет.Предположим, вам действительно нравится DL, и вы готовы преодолеть свой пожизненный страх перед математикой и программированием. И у вас также есть небольшая экономия, инвестирующая сейчас в дорогой графический процессор Nvidia для обучения ваших моделей DL. Предположите, что эти два фактора одинаково менее важны, поскольку вы можете пойти на компромисс. Однако вы действительно хотите заработать больше денег, потратив столько времени и сил на изучение DL. Таким образом, с высокими ожиданиями возврата инвестиций, если вы не сможете заработать больше $$$ впоследствии, вы не будете тратить свое драгоценное время на DL.

Понимая свои предпочтения в принятии решений, предположим, что у вас есть 100% -ная вероятность заработать больше денег после изучения DL, потому что на рынке большой спрос при очень небольшом предложении. Итак, x1 = 1 . Скажем, математика и программирование — это очень сложно. Итак, x2 = 0 . Наконец, допустим, у вас должен быть мощный графический процессор, такой как Titan X. Итак, x3 = 0 . Хорошо, у нас есть готовые входные данные, и мы также можем инициализировать веса. Возьмем w1 = 6, w2 = 2, w3 = 2 . Чем больше вес, тем большее влияние имеет соответствующий ввод. . Итак, поскольку вы больше всего цените деньги за свое решение изучить DL, w1> w2 и w1> w3 .

Предположим, что пороговое значение threshold = 5, , что эквивалентно тому, что член смещения bias = -5 . Мы складываем все это и добавляем смещение. Проверьте следующее, чтобы определить, будете ли вы изучать DL с помощью перцептрона.

Обратите внимание, что при пороговом значении 5 мы изучим глубокое обучение, только если заработаем больше денег.Даже если обе математические расчеты просты ( x2 = 1 ) и вам не нужно тратить деньги на покупку графического процессора ( x3 = 1 ), вы все равно не будете изучать DL, если вы не сможете заработать больше денег позже. См. Иллюстрацию ниже:

Теперь вы знаете фокус со смещением / порогом. Этот высокий порог 5 означает, что ваш доминирующий фактор должен быть удовлетворен, чтобы персептрон инициировал выход 1. В противном случае выход будет 0.

Вот самое интересное: изменение весов и порога / смещения приведет к другому возможному решению. изготовление моделей.Так, если, например, мы понизим порог с threshold = 5 до threshold = 3, , тогда у нас будет больше возможных сценариев для выхода, равного 1. Теперь минимальное требование для выхода = 1 is:

  1. После этого вы заработаете больше денег, поэтому x1 = 1 гарантирует ваше решение изучить DL независимо от значений x2 и x3
  2. Или математика проста, а вы не делаете этого. Необязательно покупать графический процессор, поэтому x2 = x3 = 1 также гарантирует, что вы решите изучить DL независимо от значения x1

Как так? Вы, наверное, уже знаете;) Ниже объяснение:

Ага.Теперь порог ниже, поэтому два других фактора могут побудить вас изучать DL, даже если ваша перспектива зарабатывать больше денег исчезла. Теперь я рекомендую вам поиграть с весами w1, w2 и w3 и посмотреть, как ваше решение об изучении DL соответственно изменится!

Зачем вам экспериментировать с отягощениями в этом примере? Потому что это помогает понять, как учится перцептрон. Теперь мы воспользуемся этим примером вместе с входными данными и весами, чтобы проиллюстрировать однослойный персептрон и посмотреть, чего он может достичь, несмотря на свои ограничения.

В реальной модели DL нам даны входные данные, которые мы не можем изменить. Между тем, член смещения инициализируется перед обучением модели нейронной сети. Итак, предположим, что мы предполагаем, что смещение равно 7. Теперь предположим следующие входные данные, так что (1). вы заработаете больше денег, (2). математика и программирование для DL будут сложными, и (3). да, вам нужно потратить 1400 долларов на графический процессор для работы с DL, и , что наиболее важно, , мы предполагаем, что вы действительно хотите изучить глубокое обучение, , который мы назовем желаемый результат о том, как в идеале персептрон должен правильно предсказывать или определять :

Давайте далее предположим, что наши веса инициализированы следующим образом:

Итак, с входными данными, смещением и выходной меткой (желаемый результат):

Хорошо, мы знайте, что фактический результат вашей нейронной сети отличается от вашего реального решения изучать DL. Так что же должна делать нейронная сеть, чтобы учиться и совершенствоваться, учитывая разницу между фактическим и желаемым результатом? Ага, мы не можем изменить входные данные, и теперь мы инициализировали нашу предвзятость. Итак, единственное, что мы можем сделать, это сказать перцептрону, чтобы он регулировал веса! Если мы скажем персептрону увеличить w1 до 7, не изменяя w2 и w3 , тогда:

Регулировка весов является ключом к процессу обучения нашего персептрона .Однослойный персептрон со ступенчатой ​​функцией может использовать алгоритм обучения, указанный ниже, для настройки весов после обработки каждого набора входных данных. Попробуйте самостоятельно обновить веса с помощью этого алгоритма 🙂 Это в значительной степени то, как учится однослойный перцептрон.

Кстати, теперь, когда мы закончили наш не очень реалистичный пример, я могу сказать вам, что вам не нужно покупать графический процессор. Если вы начинаете тренировать небольшие наборы данных, вам, скорее всего, не понадобится графический процессор. Однако вы можете использовать облачные сервисы, такие как AWS, Floyd и, возможно, Google TPU) вместо реального графического процессора, когда вы начинаете обучать большие наборы данных с большим количеством файлов изображений.

Кроме того, математика для DL непроста, но и не является непреодолимой. Чаще всего мы встретимся с некоторыми матричными операциями и базовыми вычислениями. Но помните, ничему, что вас выделяет, не легко научиться. Вот цитата из Talent is Overated :

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

Итак, для тех из вас, кто боится математики и программирования, как я, надеюсь, эта цитата придаст вам смелости продолжать учиться и практиковаться 🙂

Несмотря на некоторые ранние сенсации общественности, популярность персептрона исчезла тихо из-за его ограничений. В 1969 году Марвин Мински и Сеймур Паперт обсудили эти ограничения, в том числе неспособность перцептрона изучить вентиль XOR (исключающее ИЛИ) (так что в основном однослойный перцептрон со ступенчатой ​​функцией не может понять логику того, что погода должна быть либо горячее, либо холодное, но не то и другое одновременно).И эти логические вентили, такие как AND, OR, NOT, XOR, являются очень важными концепциями, которые работают на вашем компьютере;) TutorialsPoint имеет список логических вентилей, если вы хотите узнать больше. Проверить здесь.

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

Как оказалось, для более сложных задач, которые включают выходы, которые не могут быть получены из линейной комбинации входов (так что выходы нелинейны или не линейно разделимы), пошаговая функция не будет работать, потому что она не работает. t поддерживают обратное распространение, которое требует, чтобы выбранная функция активации имела значимую производную.

Источник: mathnotes.org

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

Что !? Так что же такое линейная комбинация ? И почему перцептрон не может изучить ворота XOR? Теперь это сбивает с толку.Хорошо, вот объяснение:

Задумайтесь на минутку о нашем предыдущем примере. С 3 бинарными входами для определения того, зарабатываете ли вы больше денег после изучения DL, если математика и программирование просты или нет, и если вы можете изучить DL, не вкладывая средства в дорогостоящее оборудование, у нас в общей сложности есть 2³ = 8 возможных наборов входы и результаты. С весами ( w1 = 6, w2 = 2, w3 = 2), и смещение = -5, у нас есть следующая таблица для набора ( x1, x2, x3 ):

  1. (1 , 0, 0) -> сумма + смещение = 6–5 = 1, желаемый результат = 1
  2. (1, 1, 0) -> сумма + смещение = 8–5 = 3, желаемый результат = 1
  3. (1 , 1, 1) -> сумма + смещение = 10–5 = 5, желаемый результат = 1
  4. (1, 0, 1) -> сумма + смещение = 8–5 = 3, желаемый результат = 1
  5. (0 , 1, 1) -> сумма + смещение = 4–5 = -1, желаемый выход = 0
  6. (0, 1, 0) -> сумма + смещение = 2–5 = -3, желаемый выход = 0
  7. (0, 0, 1) -> сумма + смещение = 2–5 = -3, желаемый результат = 0
  8. (0, 0, 0) -> сумма + смещение = 0–5 = -5, желаемый результат = 0

Итак, буквально, если мы начнем со случайных весов, отличных от ( w1 = 6, w2 = 2, w3 = 2 ), наш перцептрон попытается научиться регулировать и найти идеальные веса ( w1 = 6 , w2 = 2, w3 = 2 ), что будет правильно соответствовать фактическому результату каждого набора ( x1, x2, x3 ) на желаемый результат. Фактически, мы можем разделить эти 8 возможных наборов в трехмерном пространстве с помощью плоскости, такой как плоскость x1 = 0,5 . Этот тип проблемы классификации, при которой вы можете нарисовать плоскость для разделения различных выходных данных (или нарисовать линию для выходных данных в 2D), представляет собой проблему, которую может решить наш однослойный перцептрон.

Плоскость, разделяющая 4 набора слева от 4 справа Плоскость, отделяющая 4 набора слева от 4 справа

Я надеюсь, вы можете представить себе плоскость, разделяющую 8 наборов входных данных выше.Поскольку наборы ( x1, x2, x3 ) включают трехмерное пространство, это может быть немного сложно. Но в целом однослойный персептрон с линейной функцией активации может научиться разделять набор данных, как на диаграмме A на графике ниже, которая отделяется линией y = ax + b . Но если набор данных разделен кругом только нелинейно, как на диаграмме B, наш перцептрон будет работать ужасно.

Источник: Себастьян Рашка

Почему так? Я копирую цитату из Stack Overflow для вас. Вы также можете найти ответ здесь.

«Функции активации не могут быть линейными, потому что нейронные сети с линейной функцией активации эффективны только на один уровень, независимо от сложности их архитектуры. Вход в сети обычно является линейным преобразованием (вход * вес), но реальный мир и проблемы нелинейны. Чтобы сделать входящие данные нелинейными, мы используем нелинейное отображение, называемое функцией активации. Функция активации — это функция принятия решений, которая определяет наличие определенной нейронной функции.Он отображается между 0 и 1, где ноль означает, что функция отсутствует, а единица означает, что функция присутствует. К сожалению, небольшие изменения, происходящие в весах, не могут быть отражены в значении активации, потому что оно может принимать только 0 или 1. Следовательно, нелинейные функции должны быть непрерывными и различаться в этом диапазоне. Нейронная сеть должна иметь возможность принимать любой ввод от -infinity до + infinite, но она должна иметь возможность отображать его на выходе, который находится в диапазоне от {0,1} или в некоторых случаях от {-1,1} — таким образом, необходимость активации функции. Нелинейность необходима в функциях активации, потому что ее цель в нейронной сети — создать нелинейную границу принятия решения с помощью нелинейных комбинаций веса и входных данных ». -user7479

Так почему же однослойный персептрон со ступенчатой ​​функцией не может изучить вентиль XOR? Посмотрите на график ниже. Слева — логическая диаграмма XOR, а справа — декартово представление двух различных результатов (1 и 0) от логического элемента XOR.

Источник: https://stackoverflow.com/a/35919708/6297414

Действительно, мы не можем отделить белые точки от черных с помощью одной линейной линии.Нам нужно иметь что-то более мощное, чтобы позволить нейронной сети изучить логику вентиля XOR. Я скоро напишу больше по этой теме.

Глубокое обучение — это захватывающая область, которая быстро меняет наше общество. Мы должны заботиться о глубоком обучении, и нам интересно понять хотя бы его основы. Мы также представили очень простую нейронную сеть, называемую (однослойной) персептроном, и узнали о том, как работает модель принятия решений перцептрона.

Наш однослойный персептрон плюс ступенчатая функция отлично подходит для простой линейно-разделимой двоичной классификации.Но это все … поскольку это не очень хорошо работает для более сложных задач, связанных с нелинейными выходами. Я знаю, что это звучит немного разочаровывающе, но мы рассмотрим их подробнее позже!

Следующим будет новый пост о нейронных сетях со скрытыми слоями (звучит круто, правда?) И новой функцией активации, называемой сигмоидной функцией . Если позволяет пространство, мы коснемся градиентного спуска, и обратного распространения ошибки , , которые являются ключевыми концепциями для изучения интеллектуальной нейронной сети.Следите за обновлениями (вот ссылка на второй пост) 🙂

А пока поздравляю с тем, что подписались на этот пост, и вы уже многому научились! Сохраняйте мотивацию, и я надеюсь, что вам нравится глубокое обучение! Если вам не терпится дождаться моего письма, ознакомьтесь со следующими бесплатными ресурсами, чтобы узнать больше:

Наслаждайтесь обучением!

Вам понравилось это чтение? Не забудьте подписаться на меня в Twitter !

Что такое глубокое обучение?

Последнее обновление 14 августа 2020 г.

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

Если вы только начинаете в области глубокого обучения или у вас был некоторый опыт работы с нейронными сетями некоторое время назад, вы можете быть сбиты с толку. Я знаю, что изначально был сбит с толку, как и многие мои коллеги и друзья, которые изучали и использовали нейронные сети в 1990-х и начале 2000-х.

Лидеры и эксперты в этой области имеют представление о том, что такое глубокое обучение, и эти конкретные и тонкие точки зрения проливают много света на то, что такое глубокое обучение.

Из этого поста вы узнаете, что такое глубокое обучение, услышав мнение ряда экспертов и лидеров в этой области.

Начните свой проект с моей новой книги «Глубокое обучение с помощью Python», включающей пошаговые руководства и файлы исходного кода Python для всех примеров.

Давайте нырнем.

Что такое глубокое обучение?
Фото Кирана Фостера, некоторые права защищены.

Глубокое обучение — большие нейронные сети

Эндрю Нг из Coursera и главный научный сотрудник Baidu Research официально основал Google Brain, что в конечном итоге привело к внедрению технологий глубокого обучения в большом количестве сервисов Google.

Он много говорил и писал о том, что такое глубокое обучение, и с него можно начать.

В своих ранних докладах о глубоком обучении Эндрю описал глубокое обучение в контексте традиционных искусственных нейронных сетей. В своем выступлении 2013 года под названием «Глубокое обучение, самообучение и обучение без учителя» он описал идею глубокого обучения как:

Используя моделирование мозга, надеемся:

— Сделайте алгоритмы обучения намного лучше и проще в использовании.

— Сделайте революционные достижения в области машинного обучения и искусственного интеллекта.

Я считаю, что это наш лучший шанс на пути к реальному AI

Позже его комментарии стали более тонкими.

По словам Эндрю, суть глубокого обучения заключается в том, что теперь у нас достаточно быстрых компьютеров и достаточно данных для обучения больших нейронных сетей. Обсуждая, почему именно сейчас такое время, когда глубокое обучение набирает обороты на ExtractConf 2015, в своем выступлении под названием «Что следует знать специалистам по данным о глубоком обучении», он прокомментировал:

очень большие нейронные сети, которые у нас есть, и … огромные объемы данных, к которым у нас есть доступ

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

для большинства разновидностей алгоритмов обучения старых поколений… производительность будет плато. … Глубокое обучение… это первый класс алгоритмов… которые можно масштабировать. … Производительность становится лучше по мере того, как вы предоставляете им больше данных

Он показывает это на своих слайдах:

Почему именно глубокое обучение?
Слайд Эндрю Нг, все права защищены.

Наконец, он ясно указывает на то, что преимущества глубокого обучения, которые мы наблюдаем на практике, исходят от обучения с учителем. Из выступления на ExtractConf 2015 он прокомментировал:

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

Ранее в беседе со Стэнфордским университетом под названием «Глубокое обучение» в 2014 году он сделал аналогичный комментарий:

Одна из причин, по которой глубокое обучение набирает обороты, заключается в том, что оно отлично подходит для контролируемого обучения

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

Джефф Дин (Jeff Dean) — мастер и старший научный сотрудник Google в группе по системам и инфраструктуре в Google. Он принимал участие и, возможно, частично отвечал за масштабирование и внедрение глубокого обучения в Google. Джефф принимал участие в проекте Google Brain и разработке крупномасштабного программного обеспечения для глубокого обучения DistBelief, а затем и TensorFlow.

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

Когда вы слышите термин «глубокое обучение», просто подумайте о большой глубокой нейронной сети. Глубокий обычно относится к количеству слоев, поэтому этот популярный термин используется в прессе. Я считаю их в целом глубокими нейронными сетями.

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

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

Глубокое обучение — это изучение иерархических функций

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

Йошуа Бенжио — еще один лидер в области глубокого обучения, хотя начинал он с сильного интереса к автоматическому обучению функций, на которое способны большие нейронные сети.

Он описывает глубокое обучение с точки зрения способности алгоритмов обнаруживать и изучать хорошие представления с помощью функции обучения. В своей статье 2012 года под названием «Глубокое изучение представлений для неконтролируемого и трансфертного обучения» он прокомментировал:

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

Детально проработанная перспектива глубокого обучения в этом направлении представлена ​​в его техническом отчете 2009 года под названием «Изучение глубинных архитектур для ИИ», где он подчеркивает важность иерархии в обучении функций.

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

В книге «Глубокое обучение», которая скоро будет опубликована, в соавторстве с Яном Гудфеллоу и Аароном Курвиллем они определяют глубокое обучение с точки зрения глубины архитектуры моделей.

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

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

Типичный пример модели глубокого обучения — это глубокая сеть прямого распространения или многослойный перцептрон (MLP).

Питер Норвиг, директор по исследованиям в Google, известен своим учебником по искусственному интеллекту под названием «Искусственный интеллект: современный подход».

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

вид обучения, при котором формируемое представление имеет несколько уровней абстракции, а не прямой ввод для вывода

Почему это называется «

Deep Learning »?
Почему не просто « Искусственные нейронные сети »?

Джеффри Хинтон является пионером в области искусственных нейронных сетей и соавтором первой статьи об алгоритме обратного распространения ошибки для обучения многослойных сетей персептронов.

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

В 2006 году он стал соавтором статьи под названием «Алгоритм быстрого обучения для сетей с глубоким убеждением», в которой они описывают подход к «глубокому» обучению (как во многоуровневой сети) ограниченных машин Больцмана.

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

Эта статья и связанная с ней статья, в соавторстве которой Джефф, под названием «Глубокие машины Больцмана» для ненаправленной глубокой сети были хорошо приняты сообществом (теперь их цитируют много сотен раз), потому что они были успешными примерами жадного послойного обучения сетей. позволяя гораздо больше уровней в сетях с прямой связью.

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

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

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

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

В беседе с Королевским обществом в 2016 году под названием «Глубокое обучение» Джефф прокомментировал, что сети Deep Belief стали началом глубокого обучения в 2006 году и что первым успешным применением этой новой волны глубокого обучения было распознавание речи в 2009 году. «Акустическое моделирование с использованием сетей глубокого убеждения», достигающее самых высоких результатов.

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

Описание глубокого обучения в докладе Королевского общества, как и следовало ожидать, очень ориентировано на обратное распространение. Интересно, что он приводит четыре причины, по которым обратное распространение (читай «глубокое обучение») не стало популярным в последний раз в 1990-х годах. Первые два пункта совпадают с комментариями Эндрю Нг выше о том, что наборы данных слишком малы, а компьютеры работают слишком медленно.

Что на самом деле было не так с обратным распространением в 1986 году?
Слайд Джеффа Хинтона, все права защищены.

Глубокое обучение как масштабируемое обучение в разных областях

Глубокое обучение лучше всего подходит для проблемных областей, где входы (и даже выходы) являются аналоговыми.Это означает, что они представляют собой не несколько величин в табличном формате, а вместо этого представляют собой изображения пиксельных данных, документы текстовых данных или файлы аудиоданных.

Янн ЛеКун (Yann LeCun) — директор исследовательского центра Facebook и является отцом сетевой архитектуры, которая выделяется при распознавании объектов в данных изображения, называемой сверточной нейронной сетью (CNN). Этот метод пользуется большим успехом, потому что, как и многослойные нейронные сети с прямой связью персептрона, метод масштабируется с учетом данных и размера модели и может быть обучен с помощью обратного распространения.

Это искажает его определение глубокого обучения как разработки очень больших CNN, которые добились большого успеха в распознавании объектов на фотографиях.

В своем выступлении в Ливерморской национальной лаборатории Лоуренса в 2016 году под названием «Ускорение понимания: глубокое обучение, интеллектуальные приложения и графические процессоры» он описал глубокое обучение в целом как изучение иерархических представлений и определил его как масштабируемый подход к созданию систем распознавания объектов:

глубокое обучение [это]… конвейер модулей, каждый из которых можно обучить.… Глубокий, потому что [имеет] несколько этапов в процессе распознавания объекта, и все эти этапы являются частью обучения »

Глубокое обучение = изучение иерархических представлений
Слайд Ян Лекун, все права защищены.

Юрген Шмидхубер является отцом другого популярного алгоритма, который, как и MLP и CNN, также масштабируется в зависимости от размера модели и размера набора данных и может быть обучен с помощью обратного распространения, но вместо этого адаптирован для обучения данных последовательности, называемого сетью долгосрочной краткосрочной памяти (LSTM) , тип рекуррентной нейронной сети.

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

На какой глубине проблемы заканчивается поверхностное обучение и начинается глубокое обучение? Обсуждения с экспертами DL пока не дали однозначного ответа на этот вопрос.[…], Позвольте мне просто определить для целей этого обзора: проблемы глубины> 10 требуют очень глубокого обучения.

Демис Хассабис — основатель DeepMind, позже приобретенного Google. DeepMind совершила прорыв, объединив методы глубокого обучения с обучением с подкреплением для решения сложных задач обучения, таких как игра, что хорошо продемонстрировано в играх Atari и игре Go with Alpha Go.

В соответствии с названием они назвали свою новую технику Deep Q-Network, сочетающую глубокое обучение с Q-Learning.Они также называют более широкую область обучения «Глубокое обучение с подкреплением».

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

Для этого мы разработали новый агент, глубокую Q-сеть (DQN), которая способна сочетать обучение с подкреплением с классом искусственных нейронных сетей, известных как глубокие нейронные сети.Примечательно, что недавние достижения в области глубоких нейронных сетей, в которых несколько уровней узлов используются для построения все более абстрактных представлений данных, позволили искусственным нейронным сетям изучать такие концепции, как категории объектов, непосредственно из необработанных сенсорных данных.

Наконец, в статье, которую можно считать определяющей в данной области, Янн ЛеКун, Йошуа Бенджио и Джеффри Хинтон опубликовали статью в Nature под названием «Глубокое обучение». В нем они открываются с четкого определения глубокого обучения, подчеркивая многоуровневый подход.

Глубокое обучение позволяет вычислительным моделям, состоящим из нескольких уровней обработки, изучать представления данных с несколькими уровнями абстракции.

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

Методы глубокого обучения — это методы обучения представлению с несколькими уровнями представления, полученные путем составления простых, но нелинейных модулей, каждый из которых преобразует представление на одном уровне (начиная с необработанного ввода) в представление на более высоком, немного более высоком уровне. абстрактный уровень.[…] Ключевым аспектом глубокого обучения является то, что эти уровни функций не разрабатываются человеческими инженерами: они изучаются на основе данных с использованием универсальной процедуры обучения.

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

Сводка

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

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

  • Многослойные сети персептронов.
  • Сверточные нейронные сети.
  • Рекуррентные нейронные сети с кратковременной памятью.

Я надеюсь, что это прояснило, что такое глубокое обучение и как ведущие определения сочетаются под одним зонтом.

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

Разрабатывайте проекты глубокого обучения с помощью Python!

Что, если бы вы могли разработать сеть за считанные минуты

… всего несколькими строками Python

Узнайте, как это сделать, в моей новой электронной книге:
Deep Learning With Python

Он охватывает сквозных проектов по таким темам, как:
Многослойные персептроны , Сверточные сети и Рекуррентные нейронные сети и другие…

Наконец-то привнесите глубокое обучение в

свои собственные проекты

Пропустить академики. Только результаты.

Посмотрите, что внутри

Neural Networks — обзор

Dream-Like Neural Network Processing

ANN предназначены для включения операций на основе нейронных ячеек общей обработки включения-выключения, множественных соединений, нескольких уровней и динамической обратной связи, имеющих место во временной последовательности или в искусственные псевдовременные пространства. Эти процессы включают связанные процессы ассоциативной, многоуровневой памяти и когнитивной обратной связи.Для многих людей сновидения обеспечивают обратную связь с пониманием когнитивных функций ЦНС, особенно функций, которые происходят во время сна. Обработка нейронной сети, принимая сновидческие процессы когнитивной обратной связи и многоуровневой ассоциативной памяти, является попыткой пародировать биологические процессы сновидения.

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

Системы искусственного интеллекта также отличаются от биологических систем тем, что они спроектированы и структурированы для достижения поставленных целей.Компьютерные программисты и инженеры, такие как Лейбниц, склонны рассматривать роль систем ИИ как прикладных калькуляторов, управляющих серией механических операций для достижения желаемых результатов (целей). Постановка целей менее характерна для сновидений, хотя это важная часть процесса, называемого инкубацией сновидений. Инкубация — это традиционное и освященное веками использование сновидений, при котором человек засыпает, учитывая проблему, с которой сталкивается во время бодрствования. 9 Некоторые люди связывают этот процесс с попыткой достичь контроля над процессом принятия решений (осознанности) в состоянии сна.Художники, режиссеры, музыканты, ученые и особенно писатели рассказывают о таких целенаправленных мечтах, которые приносят полезные и часто творческие результаты. 10 Но большинство снов, даже самые полезные с творческой точки зрения, не включают в себя поставленные цели и не отражают целенаправленное поведение.

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

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

Анализ данных, проводимый с использованием систем нечеткой логики, ИИ и нейронных сетей, даже анализ, основанный на установленных и контролируемых целях, с гораздо большей вероятностью приведет к неожиданным результатам, чем система, основанная на параметрической и строго контролируемой логике.Такие результаты часто являются нестандартными, неопределенными и / или галлюцинаторными. Эти результаты не указывают на неисправность машины, а указывают на уровень сложности и гибкости системы. Для взаимодействия с интерактивными системами, которые часто работают вне логических ограничений (люди), может быть важно включить и включить такие альтернативные и явно нелогичные результаты. Является ли антропоморфизмом рассмотрение и, возможно, описание таких результатов как машинные сны?

AI vs.Машинное обучение, глубокое обучение и нейронные сети: в чем разница?

Эти термины часто используются как синонимы, но в чем различия, которые делают каждый из них уникальной технологией?

Технологии с каждой минутой все больше внедряются в нашу повседневную жизнь, и, чтобы идти в ногу с ожиданиями потребителей, компании все больше полагаются на алгоритмы обучения, чтобы упростить жизнь. Вы можете увидеть его применение в социальных сетях (через распознавание объектов на фотографиях) или в разговоре напрямую с устройствами (такими как Alexa или Siri).

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

Как связаны искусственный интеллект, машинное обучение, нейронные сети и глубокое обучение?

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

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

Что такое нейронная сеть?

Нейронные сети, а точнее искусственные нейронные сети (ИНС), имитируют человеческий мозг с помощью набора алгоритмов.На базовом уровне нейронная сеть состоит из четырех основных компонентов: входов, весов, смещения или порога и выхода. Подобно линейной регрессии, алгебраическая формула будет выглядеть примерно так:

Теперь применим его к более осязаемому примеру, например, следует ли вам заказывать пиццу на ужин. Это будет наш прогнозируемый результат, или y-hat. Предположим, что есть три основных фактора, которые повлияют на ваше решение:

  1. Если вы сэкономите время, заказав (Да: 1; Нет: 0)
  2. Если вы похудеете, заказав пиццу (Да: 1; Нет: 0)
  3. Если сэкономите (Да: 1; Нет: 0)

Тогда предположим следующее, дав нам следующие входные данные:

  • X 1 = 1, так как вы не готовите ужин
  • X2 = 0, так как мы получаем ВСЕ начинки
  • X 3 = 1, так как мы получаем только 2 фрагмента

Для простоты наши входные данные будут иметь двоичное значение 0 или 1.Технически это определяет его как перцептрон, поскольку нейронные сети в основном используют сигмовидные нейроны, которые представляют значения от отрицательной бесконечности до положительной бесконечности. Это различие важно, поскольку большинство реальных проблем нелинейны, поэтому нам нужны значения, которые уменьшают влияние любого отдельного ввода на результат. Однако такое обобщение поможет вам понять лежащую здесь математику.

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

  • W 1 = 5, так как вы цените время
  • W 2 = 3, так как вы цените оставаться в форме
  • W 3 = 2, так как у вас есть деньги в банке

Наконец, мы также предположим, что пороговое значение равно 5, что соответствует значению смещения –5.

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

Теперь, используя следующую функцию активации, мы можем рассчитать результат (т.е. наше решение заказать пиццу):

Итого:

Y-шляпа (наш прогноз) = Решить, заказывать пиццу или нет

Y-шляпа = (1 * 5) + (0 * 3) + (1 * 2) — 5

Y-шляпа = 5 + 0 + 2 — 5

Y-шляпа = 2, что больше нуля.

Поскольку Y-hat равно 2, выход из функции активации будет 1, , что означает, что мы закажем пиццу (я имею в виду, кто не любит пиццу).

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

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

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

Чем глубокое обучение отличается от нейронных сетей?

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

Большинство глубоких нейронных сетей имеют прямую связь, что означает, что они движутся только в одном направлении от входа к выходу. Однако вы также можете обучить свою модель с помощью обратного распространения ошибки; то есть двигаться в противоположном направлении от вывода к вводу. Обратное распространение позволяет нам вычислить и приписать ошибку, связанную с каждым нейроном, что позволяет нам соответствующим образом настроить и подогнать алгоритм.

Чем глубокое обучение отличается от машинного обучения?

Как мы объясняем в нашей статье Learn Hub о глубоком обучении, глубокое обучение — это просто подмножество машинного обучения.Они различаются тем, как обучается каждый алгоритм.

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

«Глубокое» машинное обучение может использовать помеченные наборы данных для информирования своего алгоритма, но для этого необязательно наличие помеченного набора данных; вместо этого он также может использовать обучение без учителя для самообучения. В то время как контролируемое обучение использует размеченные данные, в неконтролируемом обучении используются неструктурированные или немаркированные данные.

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

Чем машинное обучение отличается от искусственного интеллекта (ИИ)?

Наконец, искусственный интеллект (ИИ) — это самый широкий термин, используемый для классификации машин, имитирующих человеческий интеллект. Он используется для прогнозирования, автоматизации и оптимизации задач, которые люди исторически выполняли, таких как распознавание речи и лиц, принятие решений и перевод.

Существует три основных категории AI:

  • Искусственный узкий интеллект (ANI)
  • Общий искусственный интеллект (AGI)
  • Искусственный суперинтеллект (ИСИ)

ANI считается «слабым» AI, тогда как два других типа классифицируются как «сильные» AI.Слабый ИИ определяется его способностью выполнять очень конкретную задачу, например, выиграть в шахматы или идентифицировать конкретного человека на серии фотографий. По мере того, как мы переходим к более сильным формам ИИ, таким как AGI и ASI, становится более заметным включение большего количества человеческих форм поведения, таких как способность интерпретировать тон и эмоции. Чат-боты и виртуальные помощники, такие как Siri, поверхностно относятся к этому, но они все еще являются примерами ANI.

Сильный ИИ определяется его способностями по сравнению с людьми. Общий искусственный интеллект (AGI) будет работать наравне с другим человеком, в то время как искусственный суперинтеллект (ASI), также известный как суперинтеллект, превзойдет человеческий интеллект и способности. Поскольку эта область ИИ все еще быстро развивается, лучший пример того, как это могло бы выглядеть, — это Долорес из сериала HBO Westworld .

Управляйте своими данными для AI

Хотя все эти области ИИ могут помочь оптимизировать области вашего бизнеса и улучшить качество обслуживания клиентов, достижение целей ИИ может быть сложной задачей, потому что сначала вам нужно убедиться, что у вас есть правильные системы для управления данными для построения алгоритмы обучения.Управление данными, возможно, сложнее, чем создание реальных моделей, которые вы будете использовать для своего бизнеса. Вам понадобится место для хранения ваших данных и механизмы для их очистки и контроля предвзятости, прежде чем вы сможете начать что-либо создавать. Ознакомьтесь с некоторыми предложениями продуктов IBM, которые помогут вам и вашему бизнесу встать на правильный путь для подготовки и масштабного управления данными.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *