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

Тут можно читать онлайн Константин Берлинский - Основы нейросетей - бесплатно ознакомительный отрывок. Жанр: comp-programming, год 2020. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Константин Берлинский - Основы нейросетей краткое содержание

Основы нейросетей - описание и краткое содержание, автор Константин Берлинский, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Цель этой книги – максимально быстро научиться применять нейросети (НС) для решения задач. Вы научитесь: создавать и обучать НС; обрабатывать изображения, цифры и тексты; встраивать НС в реальное приложение через REST API; выбирать архитектуру НС: число слоев, нейронов, функции активации, оптимизаторы, коэффициенты скорости обучения, функции ошибки, эпохи, батчи; работать с НС на основе многослойного перцептрона, свёрточными и рекуррентными; и даже сделать НС без ML-библиотек на чистом C#!

Основы нейросетей - читать онлайн бесплатно ознакомительный отрывок

Основы нейросетей - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Константин Берлинский
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
Источник фото Источник фото 3 Погружение в ИИ Итак начал разбираться с этим - фото 6

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

Источник фото 3 Погружение в ИИ Итак начал разбираться с этим вашим ИИ Для - фото 7

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

3 Погружение в ИИ

Итак, начал разбираться с этим вашим ИИ. Для начала прочел на вики основную статью по нейронным сетям (НС) и связанные с ней темы:

https://ru.wikipedia.org/wiki/Искусственная_нейронная_сеть

https://ru.wikipedia.org/wiki/Перцептрон

https://ru.wikipedia.org/wiki/Розенблатт,_Фрэнк

https://ru.wikipedia.org/wiki/Искусственный_интеллект

https://ru.wikipedia.org/wiki/Зима_искусственного_интеллекта

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

В итоге, как я понял работает НС.

Допустим есть картинка 100*100 точек. Нужно определить, какая цифра 0..9 на ней изображена.

Делаем 1-ый слой (сенсорный S) – двумерный битовый массив 100*100. В каждую позицию записываем 0 или 1 в соответствии с тем, закрашена ли точка в той же позиции в файле.

Делаем 2-ой слой (ассоциативный A) – трехмерный числовой массив N*100*100. Где N – число образов, которые должна распознавать наша НС. В данном случае N=10, т.к. нам нужно распознать числа 0..9, т.е. всего 10 цифр / образов. В каждую позицию [N, i, j] записываем число х в соответствии с тем, насколько часто встречается закрашенная точка в той же позиции для цифры 0..9.

Как посчитать Xij для каждого образа? Прогоняем много файлов 100*100 где по-разному записана цифра 0..9. Если для цифры точка закрашена прибавляем 1 к Xij, иначе убавляем 1.

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

И наконец, делаем 3ий слой (реагирующий R) – одномерный числовой массив размерности N. При поступлении картинки для распознавания НС считает число совпадений точек для каждого из образов 0..9. Т.е. для каждой точки смотрим, если она закрашена, то в позицию R[n] прибавляем значение из 2го слоя A[n, i, j].

В итоге получаем для каждого эталонного образа 0..9 финальную оценку R[n], которая говорит насколько картинка похожа на эти образы. Для удобства, эти баллы можно нормализовать и получить, например, что на "8" картинка похожа с вероятностью 85%, а на "3" с вероятностью 60% и так далее. Можно настроить выход третьего слоя, чтобы он давал только одно значение – число с максимальной полученной вероятностью в случае если эта вероятность >80%. А если вероятность меньше, то считать что цифра не распознана.

Вот в принципе и всё. Кстати, эта штука с 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ой и последующих частях.

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

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Константин Берлинский читать все книги автора по порядку

Константин Берлинский - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Основы нейросетей отзывы


Отзывы читателей о книге Основы нейросетей, автор: Константин Берлинский. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x