Версия из трех предложений:
Каждый слой может применить любую функцию, которую вы хотите, к предыдущему слою (обычно линейное преобразование, сопровождаемое нелинейностью сдвига).
Работа скрытых слоев состоит в том, чтобы преобразовать входные данные в нечто, что может использовать выходной слой.
Выходной слой преобразует активации скрытого слоя в любой масштаб, в котором вы хотите, чтобы ваш вывод был включен.
Как будто ты 5:
Если вы хотите, чтобы компьютер сообщал вам, есть ли на изображении автобус, компьютеру может быть легче, если у него есть нужные инструменты.
Таким образом, ваш детектор автобуса может состоять из колесного детектора (чтобы помочь вам сказать, что это автомобиль) и коробочного детектора (поскольку автобус имеет форму большой коробки) и детектора размера (чтобы сказать, что он слишком большой, чтобы быть автомобилем). ). Это три элемента вашего скрытого слоя: они не являются частью необработанного изображения, это инструменты, которые вы разработали, чтобы помочь вам идентифицировать шины.
Если все три из этих детекторов включаются (или, возможно, если они особенно активны), то есть хороший шанс, что перед вами стоит автобус.
Нейронные сети полезны, потому что есть хорошие инструменты (например, обратное распространение) для создания большого количества детекторов и их объединения.
Как будто ты взрослый
Нейронная сеть с прямой связью применяет ряд данных к данным. Точные функции будут зависеть от используемой нейронной сети: чаще всего каждая из этих функций вычисляет линейное преобразование предыдущего слоя с последующей нелинейностью в виде сдвига. Иногда функции будут делать что-то еще (например, вычисление логических функций в ваших примерах или усреднение по смежным пикселям в изображении). Таким образом, роли разных уровней могут зависеть от того, какие функции вычисляются, но я постараюсь быть очень общим.
xhyfxhghy
f(x)g(f(x))
fg
g(f(x))fg
Пример с логическими функциями:
fg
Функции первого уровня:
- Убедитесь, что хотя бы один элемент «ИСТИНА» (используя ИЛИ)
- Убедитесь, что они не все «ИСТИНА» (используя NAND)
Функция второго слоя:
- Убедитесь, что оба критерия первого уровня удовлетворены (используя AND)
Выход сети является просто результатом этой второй функции. Первый уровень преобразует входные данные во что-то, что второй уровень может использовать, чтобы вся сеть могла выполнять XOR.
Пример с изображениями:
Слайд 61 из этого доклада, который также доступен здесь как одно изображение, показывает (один из способов визуализации), что ищут различные скрытые слои в конкретной нейронной сети.
Первый слой ищет короткие кусочки на изображении: их очень легко найти по необработанным пиксельным данным, но сами по себе они не очень полезны, чтобы сообщать вам, смотрите ли вы на лицо, на автобус или на слона. ,
Следующий слой формирует края: если края из нижнего скрытого слоя определенным образом соединяются, то может включиться один из детекторов глаз в середине самого левого столбца. Было бы трудно создать один слой, который был бы настолько хорош для нахождения чего-то такого особенного из необработанных пикселей: глазные детекторы гораздо проще построить из краевых детекторов, чем из необработанных пикселей.
Следующий слой состоит из глазных детекторов и носовых детекторов в лица. Другими словами, они загораются, когда детекторы глаза и детекторы носа из предыдущего слоя включаются с правильными рисунками. Они очень хороши для поиска определенных типов граней: если загорается одна или несколько из них, то ваш выходной слой должен сообщить о наличии грани.
Это полезно, потому что детекторы лица легко построить из глазных детекторов и детекторов носа, но действительно трудно построить из пикселей.
Таким образом, каждый слой уводит вас все дальше и дальше от необработанных пикселей и приближает к вашей конечной цели (например, обнаружение лица или обнаружение шины).
Ответы на разные вопросы
«Почему некоторые слои входного слоя подключены к скрытому слою, а некоторые нет?»
Отключенные узлы в сети называются узлами смещения. Там действительно хорошее объяснение здесь . Короткий ответ: они как термины перехвата в регрессии.
"Откуда берутся изображения" детектора глаза "в примере изображения?"
Я не проверил дважды конкретные изображения, с которыми я связан, но в целом эти визуализации показывают набор пикселей во входном слое, которые максимизируют активность соответствующего нейрона. Поэтому, если мы думаем о нейроне как о детекторе глаза, это изображение, которое нейрон считает наиболее похожим на глаза. Люди обычно находят эти наборы пикселей с помощью процедуры оптимизации (восхождения на гору).
В этой статье некоторые люди из Google с одной из крупнейших в мире нейронных сетей демонстрируют нейрон «детектора лица» и нейрон «детектора кошки», а также второй способ: они также показывают реальные изображения, которые активируют нейрон наиболее сильно (рисунок 3, рисунок 16). Второй подход хорош, потому что он показывает, насколько гибкой и нелинейной является сеть - эти «детекторы» высокого уровня чувствительны ко всем этим изображениям, даже если они не особенно похожи на уровне пикселей.
Дайте мне знать, если что-то здесь неясно или у вас есть еще вопросы.