Нейроны, Как построить сеть, Продвинутые нейронные сети

Искусственная нейронная сеть — важная и интересная часть искусственного интеллекта (ИИ).

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

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

  • Это симуляция мозга, сконструированная на компьютере.

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

Он состоит из тела клетки и проводов, соединяющих нейроны друг с другом.

На биологическом языке :

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

Этот процесс адаптируется по мере взросления, эта «адаптация» известна как память или обучение.

Что такое глубокое обучение ?

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

  • Это вдохновлено тем, как мозг обрабатывает визуальную информацию.

Зачем разрабатывать искусственную нейронную сеть ?

Одной из причин разработки искусственной нейронной сети (ИНС) является помощь в нейробиологии (изучение мозга и нервной системы).

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

Еще одна причина разработки искусственной нейронной сети (ИНС) — создание более совершенных методов искусственного интеллекта и машинного обучения.

  • Потому что мозг — это удивительно сложная система обработки информации.

Особенности искусственной нейронной сети :

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

Так что да, ANN ускоряет обработку информации, но ее трудно применить на «традиционных компьютерах (Single Processing)», поскольку она может выполнять только одну задачу за раз. Именно здесь вступают в действие графические процессоры.

Слышали о графических процессорах ?

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

Построение нейронной сети :

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

Но что такое веса?

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

Например, чтобы найти подходящий баланс (данные), мы придаем входному значению соответствующий вес.

Следовательно, умножая каждое входное значение (нейроны) на вес и складывая их все вместе, мы получим «линейную комбинацию».

Формула линейной комбинации :

Учтите, что у нас есть 4 входа, поэтому нам также нужны 4 веса, чтобы сбалансировать их, а также будет дополнительное фиксированное значение, называемое точкой пересечения (смещением).

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

Формула:

Линейная комбинация = [Пересечение + Вес 1 × Вход 1 + Вес 2 × Вход 2 + Вес 3 × Вход 3 + Вес 4 × Вход 4]

В) Рассмотрим выражение:

10.0 + 5.4 × 8 + (-10.2) × 5 + (-0.1) × 22 + 101.4 × (-5) + 0.0 × 2 + 12.0 × (-3) = -543.0

(i) Что такое термин перехвата (предвзятости) в выражении ?

«10,0 — это число пересечения (смещения), потому что оно не умножается ни на какую переменную.

(ii) Что такое исходные данные?

«8,5,22,-5,2,-3 — входные значения, так как это второе число в умножении.

После того, как эта линейная комбинация достигнута, она затем передается «Функции активации».

Функция активации :

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

  • Чтобы делать прогнозы для распознавания изображений, обработки естественного языка и т. д.

Примеры функции активации :

Некоторые из примеров функций активации:

  • Определите функцию: ничего не делайте и просто выведите линейную комбинацию (это то же самое, что и линейная регрессия  — она не дает ничего нового, поэтому редко используется)

  • Ступенчатая функция: если значение линейной комбинации больше 0, сигнал проходит, иначе ничего не делать.

  • Сигмовидная функция: «мягкая версия ступенчатой ​​функции».

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

«Персептрон  — «Мать искусственных нейронных сетей (ИНС)» :

Персептрон — это простая модель нейрона, в которой используется функция ступенчатой ​​активации.

  • Он используется в качестве простого классификатора в задачах двоичной классификации.
  • Поскольку это первая формальная модель нейронной сети, она известна как мать ИНС.

«Теперь давайте вернемся к построению нейронной сети.

Сетевая архитектура состоит из таких уровней, как :

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

Чтобы линейная комбинация имела место в этих слоях, мы должны быть в состоянии найти соответствующие веса.

Обратное распространение — для нахождения соответствующих весов :

  • В прошлые времена (до 1980-х годов) использовался алгоритм персептрона, но поиск весов занимал много времени.
  • Таким образом, было введено обратное распространение. Который идет вперед и назад по слоям, чтобы определить соответствующие веса для точных прогнозов.

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

Создайте классификатор, который будет классифицировать, показывает ли изображение «X» или «O».

Здесь это сетка 5 × 5, состоящая, таким образом, из 25 пикселей для каждого изображения. Давайте рассмотрим заштрихованные пиксели как 1, а другие пустые пиксели как 0.

Теперь мы должны применить веса, где в центре предположим, что вес равен -1, а 1 — ближним к центру пикселям, как :

Итак, здесь, если Линейная Комбинация отрицательна, то есть Активация равна нулю, что будет «Х», а если она положительна, то это «О».

Применяя Linear Combination к первому изображению :

(игнорируя нулевые веса, получаем) -> 1 × -1 = -1

Таким образом, мы получаем «Х

Применив линейную комбинацию ко второму изображению :

(игнорируя нулевые веса, получаем) -> 1 × 1 + 1 × 1 + 1 × 1 + 1 × 1 = 4

Поэтому мы получаем «О

До сих пор мы понимали -> многослойные сети (нейронная сеть с более чем 1 слоем), нелинейные функции (ступенчатая и сигмовидная функция активации), правила обучения (такие как обратное распространение).

Давайте перейдем к продвинутым нейронным сетям.

Сверточная нейронная сеть :

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

Поэтому для устранения этих ограничений была введена сверточная нейронная сеть.

  • CNN или сверточная нейронная сеть состоит из сверточных слоев, которые могут автоматически изучать и извлекать характеристики изображений, такие как цвет, узор, края и т. д.
  • Например, CNN используются для обнаружения животных, обнаружения знаков и т. д.

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

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

Генеративный ИИ :

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

Может быть :

  • Метод контролируемого обучения
  • Неконтролируемый метод обучения
  • Полууправляемый метод обучения

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

Генеративная модель используется для генерации новых данных, например для предсказания следующего слова в последовательности.

Генеративно-состязательная сеть (GAN):

Идея состоит в том, чтобы заставить две нейронные сети конкурировать друг с другом.

  • Одна сеть будет генерировать изображения, аналогичные обучающим данным.
  • Другая сеть будет классифицировать, какое изображение является сгенерированным, а какое обучающим.

Это делается для создания реалистичного изображения.

Приведенные выше изображения были сгенерированы GAN, разработанной NVIDIA.

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

Тадаа!!!! Наконец, вы освоили базовую нейронную сеть и приобрели базовые знания о продвинутых нейронных сетях.