Введение

Около года назад я начал писать для Open Data Science после того, как представил Perceptron на конференции ODSC.

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

Резюме Персептрона

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

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

Что такое генеративно-состязательные нейронные сети?

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

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

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

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

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

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

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

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

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

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

В следующей части я продемонстрирую Perceptron и его новые возможности.

Оригинальная история здесь

— — — — — — — — — — — — — — — — — —

Читайте другие статьи по науке о данных на OpenDataScience.com, включая учебные пособия и руководства от начального до продвинутого уровня! Подпишитесь на нашу еженедельную рассылку здесь и получайте последние новости каждый четверг.