Нейронные сети - как выглядит будущее искусственного интеллекта?
Опубликовано: 2020-01-14Что такое нейронные сети?
Вдохновленная биологическими нейронными сетями, эта вычислительная система «учится» выполнять различные задачи, принимая во внимание определенные примеры, обычно без программирования с помощью правил, специфичных для конкретной задачи.
Нейронные сети - это функциональная единица глубокого обучения, в основе которой лежит структура человеческого мозга. Однако более поздние искусственные нейронные сети являются функциональной единицей глубокого обучения.

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

Рис 2: Идентификация кошки
В глубоком обучении используются искусственные нейронные сети, которые имитируют поведение человеческого мозга для решения сложных проблем, связанных с данными. Глубокое обучение само по себе является частью машинного обучения, которое относится к искусственному интеллекту (ИИ).
Машинное обучение - приложение искусственного интеллекта (ИИ), машинное обучение предоставляет системам возможность автоматически учиться и совершенствоваться на основе опыта без явного программирования. Машинное обучение нацелено на разработку компьютерных программ, которые могут получать доступ к данным и использовать их для самостоятельного обучения.
Процесс обучения начинается, когда они начинают наблюдать данные, такие как примеры, непосредственный опыт или инструкции, чтобы искать закономерности, которые помогут им принимать более правильные решения в будущем. Основная цель - позволить компьютерам обучаться автоматически без вмешательства или помощи человека и соответствующим образом корректировать свои действия.
Глубокое обучение - глубокое обучение (также известное как глубокое структурированное обучение или иерархическое обучение) является частью более широкого семейства методов машинного обучения, основанных на искусственных нейронных сетях. В рамках Deep Learning процесс обучения может быть контролируемым, частично контролируемым или неконтролируемым. Глубокое обучение - это класс алгоритмов машинного обучения, которые используют несколько уровней для постепенного извлечения функций более высокого уровня из необработанных входных данных.
Например, при обработке изображений нижние уровни могут идентифицировать края, в то время как более высокие уровни могут идентифицировать концепции, относящиеся к человеку, такие как цифры, буквы или лица.
Структура нейронной сети

Нейронные сети состоят из нейрона, который является основным процессором сети. Нейронные сети в основном состоят из 3 разных слоев: входной, скрытый и выходной.
Входной слой - это уровень, на котором входные данные поступают в сеть. Выходной слой использует выходные данные того конкретного скрытого слоя, на котором происходит большая часть вычислений. Это связано с некоторым числовым значением, называемым смещением, которое затем добавляется к входной сумме, которая передается в пороговую функцию, называемую функцией активации.
Функция активации определяет, должен ли активироваться конкретный нейрон. Активированный нейрон передает данные на следующий уровень.
Между этими нейронами соединяется канал.

Работа нейронных сетей на примере
Основные шаги:
- Наши входные нейроны представляют собой входные данные, основанные на информации, которую мы пытаемся классифицировать.
- Каждому числу входных нейронов присваивается вес в каждом синапсе (канале).
- В каждом нейроне следующего уровня мы добавляем выходы всех синапсов, приходящих к этому нейрону, вместе с смещением и применяем функцию активации (обычно сигмовидную функцию) к взвешенной сумме (это делает число чем-то между 0 и 1).
Входная сумма = (w1 * x1) + (w1 * x2) + (w1 * x3) + b1, вычисленная для каждого входа нейрона. - Выход этой функции будет рассматриваться как вход для следующего слоя синапса.
- Продолжайте, пока не дойдете до выхода.
Рассмотрим пример классификации листа, такого как нормальный лист или дефектный лист.
Здесь мы предоставляем нашей системе изображение листа для классификации на основе его состояния.
Изображение делится на фрагменты в зависимости от его размера, например, если оно составляет 28 пикселей в высоту и вес, оно разделяется на 28 x 28 пикселей из 784 пикселей и подается на входной слой. Но в данном случае это 30 пикселей в ширину и 900 пикселей в высоту, которые передаются на входной слой.

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

В выходном слое нейрон с более высоким значением определяет выход. Значение - это в основном значение вероятности. Если более высокое значение вероятности предсказывает неверный результат, сеть еще предстоит обучить. В этом случае он определяется как дефектный лист, поэтому его необходимо обучить, после чего можно будет выполнить обнаружение / классификацию.

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

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