ГЛАЗА

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

Все, что касается зрения, начинается с наших глаз. Глаз — это датчик нашего зрения, и, как и у наших глаз, у нас есть датчик камеры, который реагирует на свет в зависимости от амплитуды падающей на него длины волны. Именно здесь то, что мы видим, преобразуется в RGB или BnW! Как вы знаете, у нас есть 3 канала (правда, они не чисто RGB)

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

Слева: типичная иерархическая модель с прямой связью, в которой обработка информации начинается в сетчатке, продолжается в LGN, затем в V1, V2, V4 и IT. Решения о стимулах принимаются в лобной коре. В центре: нижние зрительные области имеют меньшие рецептивные поля, в то время как нейроны в более высоких областях имеют постепенно увеличивающиеся размеры рецептивных полей, интегрируя информацию во все более и более крупных областях поля зрения. Справа: нижние визуальные области, такие как V1, кодируют основные функции, такие как края и линии. Нейроны более высокого уровня объединяют информацию о нескольких нейронах низкого уровня с меньшими рецептивными полями и кодируют более сложные функции. Таким образом, существует иерархия признаков. Рисунок адаптирован из Manassi et al. (2013).

Если вас больше интересует вышеуказанная тема, читайте подробнее по этой ССЫЛКЕ.

Извлекая интуицию из глаза. Поговорим о камере

Вот как сейчас выглядят наши системы физических камер:

А вот так наш сенсор камеры выглядел бы под электронным микроскопом:

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

Ссылка: Если вы хотите узнать больше о датчике камеры.

КАНАЛЫ

В контексте цифровых изображений канал относится к определенному диапазону цветов или тонов изображения. Большинство цифровых изображений состоят из пикселей, которые представляют собой крошечные квадраты, каждому из которых присвоено определенное значение цвета. Цвета этих пикселей обычно представляются комбинацией значений красного, зеленого и синего (RGB). Каждый из этих основных цветов представлен в изображении собственным каналом.

Например, изображение RGB может иметь три канала: один для красного, один для зеленого и один для синего. Каждый канал содержит значение для каждого пикселя изображения, указывающее, сколько этого цвета присутствует в этом пикселе. Эти значения могут варьироваться от 0 (нет цвета) до 255 (полная интенсивность этого цвета). Комбинация этих значений для каждого пикселя определяет общий цвет этого пикселя в конечном изображении.

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

Теперь нам нужно начать думать о каналах по-другому. Вы знаете о RGB и, возможно, CMYK, или это может быть HSL (Hue Saturation Lights). Вам действительно нужно привыкнуть к тому, что вы можете комбинировать базовые компоненты, чтобы сделать что-то сложное.

https://en.wikipedia.org/wiki/Файл:Hsl-hsv_models.svg

Ссылка: Подробнее о каналах

Края/Градиенты

В этой картине каждый штрих состоит из краев и градиентов.

Градиент в изображении — это изменение оттенка или интенсивности, происходящее только в одном направлении. Одним из основных строительных блоков в обработке изображений является градиент изображения. Детектор краев Canny, например, использует градиент изображения для обнаружения краев.

Давайте перенесем это понимание в MNIST. Наш первый набор данных.

Ссылка: визуализировать MNIST

Существует сильное сходство, происходящее в глубоких нейронных сетях! А поскольку DNN является искусственной, мы действительно можем наблюдать за тем, что происходит в слоях!

Внутри нейронной сети:

Что извлекает эту информацию из изображений

СПРОСИТЬ ?

Ядра:

свертка

Зеленое поле здесь читает изображение. Теперь «чтение» здесь в основном означает, что мы сохраняем его для какой-то обработки.

Пиксели, которые будут сохранены, будут обработаны алгоритмом, что в конечном итоге приведет к

некоторые числа умножаются, делятся, добавляются и т. д. к пикселям.

Ядра - это имена для этих фигур.

Ссылка: загрузите изображение, чтобы увидеть подробности.

Свертки

Здесь мы «читаем» числа 3х3 на изображении 5х5. В тот момент, когда мы читаем эти пиксели 3x3, мы умножаем их на некоторые другие числа 3x3 (обозначаемые DNN). Эти «другие числа 3x3» называются ядрами.

Ссылка: загрузите изображение, чтобы увидеть подробности.

Итак, существуют простые матричные числа 3x3, которые могут легко идентифицировать основные линии/ребра.

Таким образом, если мы свяжем ядро ​​3x3 с изображением 5x5, результат, который мы создадим, будет иметь разрешение 3x3. Это верно только тогда, когда:

1. Не выходим за пределы изображения (складывая мнимые числа). Это, кстати, называется заполнение. Мы можем добавить воображаемые черно-белые (0/1/255) числа, а затем позволить нашему ядру выскользнуть из изображения.

2. мы не используем шаг более 1, т.е. мы будем покрывать каждую секцию 3x3 сразу после 1 пикселя

На изображениях выше наше ядро ​​пропускает/прыгает только на 1 пиксель. Если бы мы перескочили/пропустили 2 пикселя, то шаг нашего ядра был бы равен 2 (пикселям).

Давайте рассчитаем некоторые параметры, которые мы используем при выполнении свертки.

Вопрос?

ДАВАЙТЕ СОЗДАТЬ СЕТЬ ДЛЯ ИЗОБРАЖЕНИЯ 200 X 200.

СКОЛЬКО СЛОЕВ НАМ НУЖНО?

(Держитесь за MaxPool. Это чужой для нас язык)

Одно предположение, которое нам нужно будет сделать

Пока мы делаем эту сеть, мы будем использовать только ядро ​​3x3.

Почему?

В большинстве случаев мы используем ядра 3x3, так как они позволяют нам дублировать эффекты операций свертки, используя ядра различных размеров.
Для получения окончательного результата мы действительно используем (3x3 + 3x3) веса, если ядро ​​3x3 применялась дважды. Следовательно, с уменьшением размеров ядра мы получаем меньше весов и больше слоев. Это делает ядра 3X3 вычислительно эффективными, а большее количество слоев упрощает извлечение сложных и нелинейных характеристик.

например:
Когда изображение дважды свертывается с использованием двух ядер 3x3, результат операции свертки 5x5 дублируется. Эффект от трех ядер 3x3 и ядра 7x7 сравним. Многие алгоритмы и вычисления графического процессора предназначены для ядер 3x3 из-за этого важного свойства ядра 3x3.

Рецептивное поле

1› Локальное рецептивное поле:

2› Глобальное рецептивное поле:

Здесь мы видим наш первый слой как изображение 5x5. Мы сворачиваем это изображение 5x5 с ядром размером 3x3, и, следовательно, результирующее выходное разрешение будет каналом с 3x3 пикселями/значениями. Когда мы свернем на этом канале 3x3 с ядром размером 3x3, мы получим только 1 вывод. Здесь мы добавили 2 слоя.

Мы могли бы напрямую использовать ядро ​​5x5 для получения вывода 1 или 1x1. В результате запуск ядра 3x3 дважды аналогичен запуску ядра 5x5. Это также означает, что рецептивное поле размером 5x5 создается двумя слоями размером 3x3.

Окончательное глобальное принимающее поле на последнем слое прогнозирования или выходном слое должно иметь тот же размер, что и изображение. Это очень важно, потому что сеть должна «увидеть» все изображение, прежде чем сможет точно предсказать, о чем оно.

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