![]() |
![]() |
![]() |
|||||
![]() |
Использование нейронных сетей для распознавания рукописных цифр Часть 1 |
||||||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2017-07-17 18:21 ![]() Привет, Хабр! В этой серии статей приведу краткий перевод с английского языка первой главы книги Майкла Нильсона "Neural Networks and Deep Learning". Перевод я разбил на несколько статей на хабре, чтобы было удобнее читать: Введение Человеческая визуальная система — одна из самых удивительных на свете. В каждом полушарии нашего мозга есть зрительная кора, содержащая 140 млн. нейронов с десятками млрд. связей между ними, но такая кора не одна, их несколько, и вместе они образуют настоящий суперкомпьютер в нашей голове, лучшим образом адаптированный в ходе эволюции под восприятие визуальной составляющей нашего мира. Но трудность распознавания визуальных образов становится очевидной, если вы попытаетесь написать программу для распознавания, скажем, рукописных цифр. ![]() Простую интуицию — "у 9-тки есть петля сверху, и вертикальный хвост внизу" не так просто реализовать алгоритмически. Нейронные сети используют примеры, выводят некоторые правила и учатся на них. Более того чем больше примеров мы покажем сети, тем больше она узнает о рукописных цифрах, следовательно классифицирует их с большей точностью. Мы напишем программу в 74 строчки кода, которая будет определять рукописные цифры с точностью >99%. Итак, поехали! Персептрон Что такое нейронная сеть? Для начала объясню модель искусственного нейрона. Персептрон был разработан в 1950 г. Фрэнком Розенблатом, и сегодня мы будем использовать одну из основных его моделей — сигмоидный персептрон. Итак, как он работает? Персепрон принимает на вход вектор ![]() Розенблат предложил простое правило для вычисления выходного значения. Он ввел понятие "значимости", далее "веса" каждого входного значения И это все, что нам нужно! Варьируя ![]() Итак, мы видим, что сеть состоит из нескольких слоев нейронов. Первый слой называется входным слоем или рецепторами ( Проблема обучения Чтобы узнать, как может работать обучение, предположим что мы немного изменили некоторый вес или смещение в сети. Мы хотим, чтобы это небольшое изменение веса вызывало небольшое соответствующее изменение на выходе из сети. Схематически это выглядит так: ![]() Если бы это было возможно, то мы могли бы манипулировать весами в выгодную нам сторону и постепенно обучать сеть, но проблема состоит в том, что при некотором изменение веса конкретного нейрона — его выход может полностью "перевернуться" с 0 на 1. Это может привести к большой ошибке прогноза всей сети, но есть способ обойти эту проблему. Сигмоидный нейрон Мы можем преодолеть эту проблему, введя новый тип искусственного нейрона, называемый сигмоидным нейроном. Сигмоидные нейроны подобны персептронам, но модифицированы так, что небольшие изменения в их весах и смещении вызывают лишь небольшое изменение на их выходе. Структура сигмоидного нейрона аналогичная, но теперь на вход он может принимать Казалось бы, совершенно разные случаи, но я вас уверяю, что персептрон и сигмоидный нейрон имеют много общего. Допустим, что Архитектура нейронных сетей Проектирование входных и выходных слоев нейросети — достаточно просто занятие. Для примера, предположим, что мы пытаемся определить, изображена ли рукописная "9" на изображении или нет. Естественным способом проектирования сети является кодирование интенсивностей пикселей изображения во входные нейроны. Если изображение имеет размер До сих пор мы использовали нейронные сети, в которых выход из одного слоя — использовался как сигнал для следующего, такие сети называются прямыми нейронными сетями или сетями прямого распространения( Итак, на сегодня все, в следующей статье я расскажу о градиентом спуске и обучении нашей будущей сети. Спасибо за внимание! Источник: habrahabr.ru ![]() Комментарии: |
||||||