Искусственный интеллект и машинное обучение не просто попали в заголовки газет и стали основой для блокбастеров. они готовы внести реальные изменения в нашу повседневную жизнь, например, с беспилотными автомобилями и спасательными медицинскими устройствами. На самом деле, по данным Global Big Data Conference, ИИ полностью меняет науки о жизни, медицину и здравоохранение, а также трансформирует голосовых помощников, распознавание изображений и многие другие популярные технологии.

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

Что такое нейронная сеть? Если вы не знакомы с этими терминами, то этот учебник по нейронным сетям поможет лучше понять эти понятия. Итак, вот обзор тем, затронутых в этом уроке:

  • Что может нейронная сеть?
  • Как работает нейронная сеть?
  • Типы нейронных сетей
  • Вариант использования для классификации изображений собак и кошек с использованием Keras

Давайте начнем этот учебник по нейронной сети с понимания: «Что такое нейронная сеть?»

Что такое нейронная сеть?

Вероятно, вы уже ежедневно используете нейронные сети. Когда вы просите своего мобильного помощника выполнить поиск для вас, скажем, в Google, Siri или Amazon Web, или использовать беспилотный автомобиль, все это управляется нейронной сетью. Компьютерные игры также используют нейронные сети на серверной части, как часть игровой системы и как она подстраивается под игроков, как и картографические приложения для обработки картографических изображений и помощи в поиске кратчайшего пути к месту назначения.

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

Нейронные сети могут выполнять следующие задачи:

  • Перевести текст
  • Определить лица
  • Распознавать речь
  • Читать рукописный текст
  • Управляющие роботы
  • И многое другое

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

Как работает нейронная сеть?

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

Давайте возьмем реальный пример того, как дорожные камеры идентифицируют номерные знаки и мчащиеся автомобили на дороге. Само изображение имеет размер 28 на 28 пикселей, и изображение подается в качестве входных данных для идентификации номерного знака. У каждого нейрона есть число, называемое активацией, которое представляет значение в оттенках серого соответствующего пикселя в диапазоне от 0 до 1 — это 1 для белого пикселя и 0 для черного пикселя. Каждый нейрон загорается, когда его активация близка к 1.

Пиксели в виде массивов подаются на входной слой. Если ваше изображение больше 28 на 28 пикселей, вы должны уменьшить его, потому что вы не можете изменить размер входного слоя. В нашем примере мы назовем входы как X1, X2 и X3. Каждый из них представляет один из входящих пикселей. Затем входной слой передает входные данные скрытому слою. Взаимосвязям случайным образом присваиваются веса. Веса умножаются на входной сигнал, и ко всем из них добавляется смещение.

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

Здесь мы сделаем обходной путь, чтобы изучить функцию активации нейронной сети. Существуют различные типы функций активации.

Сигмовидная функция используется, когда модель предсказывает вероятность.

Функция порога используется, когда вы не хотите беспокоиться о неопределенности в середине.

Функция ReLU (выпрямленная линейная единица) дает значение, но говорит, что если оно больше 1, то оно будет просто 1, а если меньше 0, то будет просто 0. Функция ReLU наиболее обычно используется в наши дни.

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

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

Ошибка на выходе распространяется обратно по сети, а веса корректируются, чтобы свести к минимуму частоту ошибок. Это рассчитывается функцией стоимости. Вы продолжаете корректировать веса, пока они не будут соответствовать всем различным тренировочным моделям, которые вы ввели. Для получения более подробной информации ознакомьтесь с видео, представленным ниже:

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

В следующем разделе учебника по нейронной сети давайте рассмотрим типы нейронных сетей.

Типы нейронных сетей

Различные типы нейронных сетей обсуждаются ниже:

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

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

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

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

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

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

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

Нейронная сеть — пример использования

Давайте воспользуемся системой, чтобы отличить кошку от собаки. Наша постановка задачи заключается в том, что мы хотим классифицировать фотографии кошек и собак с помощью нейронной сети. У нас есть множество собак и кошек в наших образцах изображений, и просто сортировать их просто потрясающе!

Язык кодирования и среда

Мы реализуем наш вариант использования, создав нейронную сеть на Python (версия 3.6). Начнем с импорта необходимых пакетов с помощью Keras:

Давайте поговорим об окружающей среде, над которой мы работаем. Официальный сайт Keras — http://kerias.io, и если вы зайдете на сайт, первое, что вы заметите, это то, что Keras работает поверх TensorFlow, CNTK или Theano. TensorFlow, вероятно, является одним из наиболее широко используемых пакетов с Keras.

Keras удобен для пользователя, имеет модульность и расширяемость. Он также работает с Python, что важно, потому что многие люди, занимающиеся наукой о данных, теперь используют Python. Когда вы работаете с Keras, вы можете добавлять слой за слоем с различной информацией в каждом, что делает его мощным и быстрым.

Примечание: здесь мы используем Anaconda с Python и создали собственный пакет под названием keraspython36. Если вы много экспериментируете с разными пакетами, вы, вероятно, захотите создать там свою собственную среду.

В Anaconda Navigator наш keraspython36 указан в разделе Environments. Из главного меню мы можем запустить Jupyter Notebook, убедившись, что используем правильную среду, которую только что настроили. Вы можете использовать любой редактор настроек, который вам удобен для того, что вы делаете, но в нашем примере мы используем Python и Jupyter Notebook.

Вывод

Итак, мы успешно построили нейронную сеть с помощью Python, которая может различать фотографии кошки и собаки. Представьте себе все другие вещи, которые вы могли бы различить, и все различные отрасли, в которые вы могли бы погрузиться с этим. Какое захватывающее время жить с этими инструментами, с которыми мы можем играть!

Если у вас есть какие-либо вопросы по поводу учебника по нейронной сети, зайдите на Simplilearn.com. Мы также можем выслать вам zip-архив с использованными здесь данными. Хотите узнать больше о нейронных сетях и искусственном интеллекте? Пройдите курс Simplilearn Введение в искусственный интеллект для начинающих. Уже занимаетесь ИИ и хотите продолжить карьеру? Станьте Инженером искусственного интеллекта через магистерскую программу Simplilearn.

ПОЖАЛУЙСТА, ПОСМОТРИТЕ НА ИСХОДНЫЙ ПОСТ ДЛЯ ПОДРОБНОГО ИССЛЕДОВАНИЯ С КАРТИННЫМИ ИЗОБРАЖЕНИЯМИ.

Первоначально опубликовано на https://www.simplilearn.com 19 апреля 2019 г.