Основы нейросетей - Константин Константинович Берлинский 3 стр.


Вот в принципе и всё. Кстати, эта штука с 3-мя слоями называется перцептрон. Он считается простейшим, т.к. у него только один внутренний A-слой.


Можно сделать НС с несколькими внутренними A-слоями. Например, один A-слой распознает отдельно лапы, хвост, морду и шерсть собак. А 2ой A-слой пользуется 1м и знает, какие лапы и другие причиндалы у определенных пород собак.


Или первый слой распознает буквы, 2-ой слова из букв, а 3ий понимает, полученный текст спам или нет. Плюс 2-ой слой влияет на 1ый. Например, в английском языке есть артикль the и если есть слово из 3х букв и первые 2 "th", то 3ий слой ненавязчиво советует 2-му слою, что 3-я буква "e". Это рекуррентные НС.


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


Что из этого всего следует:

1) для приемлемого качества НС нужно обучать гигантским количеством данных.

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

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

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

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

6) что хорошо обучить НС можно один раз на мощностях ИТ-гиганта типа Гугл, а пользоваться результатами смогут все.

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

7) большой минус НС, в-основном, могут решать всего 2 основных класса задач:

а) распознавание отнести объект к известному классу, т.е. сказать, что на фото число 1 или 2, танк или корова.

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


В вики хорошо описаны этапы решения задач при помощи НС:

1) Сбор данных для обучения;

2) Подготовка и нормализация данных;

3) Выбор топологии сети;

4) Экспериментальный подбор характеристик сети;

5) Экспериментальный подбор параметров обучения;

6) Собственно обучение;

7) Проверка адекватности обучения;

8) Корректировка параметров, окончательное обучение;

9) Вербализация сети с целью дальнейшего использования.


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


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


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


По сути НС это жестко заданный алгоритм. Если прогнать через нее один и тот же набор данных, результат будет на 100% известен. А там где есть алгоритм нет разума, т.к. разум гибкий и иногда противоречащий правилам и ожидаемой выгоде. Кто из нас не садился играть в Героев накануне экзамена в универе или не съедал торт забив на диету?


Как выяснилось, разочарование в ИИ стандартная штука. Называется "зима ИИ". Это периоды, когда человечество разочаровывалось в ИИ (из-за завышенных ожиданий), сокращались бюджеты, рушились карьеры и снижался на годы интерес к ИИ. Самая известная зима ИИ в 1969 г началась после того, как одногруппник Фрэнка Розенблатта (изобретателя перцептрона) Марвин Минский доказал принципиальную невозможность решения многих классов задач перцептронами. А также после многочисленных провалов проектов для военных по машинному переводу (мгновенному переводу секретных переговоров русских), автономному танку, распознавания на фото бронетехники, краху Lisp-машин (еще одна вундервафля не оправдавшая ожиданий) и др.

Как выяснилось, разочарование в ИИ стандартная штука. Называется "зима ИИ". Это периоды, когда человечество разочаровывалось в ИИ (из-за завышенных ожиданий), сокращались бюджеты, рушились карьеры и снижался на годы интерес к ИИ. Самая известная зима ИИ в 1969 г началась после того, как одногруппник Фрэнка Розенблатта (изобретателя перцептрона) Марвин Минский доказал принципиальную невозможность решения многих классов задач перцептронами. А также после многочисленных провалов проектов для военных по машинному переводу (мгновенному переводу секретных переговоров русских), автономному танку, распознавания на фото бронетехники, краху Lisp-машин (еще одна вундервафля не оправдавшая ожиданий) и др.


Да, а придумал перцептрон Фрэнк Розенблат. Наш человек. Его еврейская семья очень своевременно свалила в США из СССР/Украины как раз в годы между 1 и 2-ой мировыми войнами. Хорошая интуиция. Стал известным ученым в области ИИ, профессором и звездой Корнеллского университета. Исследовал мозг, включая такие спорные опыты на мышах, как обучение мышей навыкам, затем переработку их мозгов в миксере и ввод этой жидкости в мозг другим мышам, а у тех внезапно появлялись навыки прошлых мышей. Мозг странная штука.


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


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


Ссылки:

1) Машинное обучение для людей: https://vas3k.ru/blog/machine_learning/

2) Русское датасаенс коммьюнити: https://ods.ai




Источник фото

4 Распознавание цифр без нейросетей

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


Итак, прочитал еще пару статей. Многое прояснилось, но вопросы остались. Сигмоидная функция f(х) = 1/(1+e^-х). По описанию страшная вещь! А по факту просто преобразователь данных. Чтобы значения от [-..+] преобразовать в [0..1].


Нейрон смещения тот же преобразователь, чтобы сдвинуть функцию (полученные значения) влево или вправо по оси х. Т.е. из диапазона [0..1] перейти, например, в диапазон [3..4].


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


Работу НС обычно описывают так. Есть НС с 3мя слоями: входным, средним и выходным. Присваиваем нейронам среднего слоя случайные веса. Подаем на входной слой образец для обучения. Накладываем каждую точку входного изображения на входной слой. Если на нейроне входного слоя есть сигнал, умножаем его на вес связанного нейрона из 2-го слоя и передаем на 3-ий выходной слой. Выходной слой суммирует пришедшие сигналы со 2-го слоя и пропускает его через функцию активации (ту самую сигмоиду) чтобы преобразовать сигнал в [0..1].


По сигналу 0 или 1 НС говорит на фото кошка или таки собака. Если НС ошиблась, вычисляем "методом градиентного спуска" какие веса должны быть у нейронов 2-го слоя, чтобы минимизировать ошибку. Меняем веса нейронов через "метод обратного распространения ошибки". Подаем на вход НС все больше данных, НС учится, мутки мутятся, ошибка уменьшается и НС всё лучше распознает данные.


Вроде понятно, но что конкретно? Как сделать НС с нуля? Как она научится распознавать изображение? Зачем расставлять случайные веса нейронов (приносить шум в систему) в начале обучения? Зачем менять веса нейронов на каждой итерации через градиентный спуск? Разве НС не будет перенастраиваться каждый раз и запоминать последний образец? Как методом обратного распространения ошибки менять веса всех нейронов так, чтобы общая вероятность распознавания НС увеличивалась после каждой итерации? Разве возможно уменьшать выходную ошибку f_error(х) если она зависит от кучи параметров х1хn, а сами параметры х не должны влиять друг на друга?

Назад Дальше