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

Здесь есть возможность читать онлайн «Константин Берлинский - Основы нейросетей» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2020, ISBN: 2020, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Основы нейросетей: краткое содержание, описание и аннотация

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

Цель этой книги – максимально быстро научиться применять нейросети (НС) для решения задач. Вы научитесь: создавать и обучать НС; обрабатывать изображения, цифры и тексты; встраивать НС в реальное приложение через 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) цикл обучения НС нужно повторять с разными настройками (размер матриц, пороговые вероятности), чтобы получить лучшую НС.

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

Интервал:

Закладка:

Сделать

Похожие книги на «Основы нейросетей»

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


Отзывы о книге «Основы нейросетей»

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

x