Серия AI: Глубокое обучение (Облегченная версия)

Более пристальный взгляд на магию глубокого обучения

Если вы уже прочитали мою предыдущую статью, то можете просто пропустить эту, однако для тех, кто не прошел или не прошел (но все же выжил в этом опыте), здесь я предлагаю гораздо более короткую прогулку в магия Deep Learning и нейронных сетей.

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

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

К наиболее популярным типам нейронных сетей сегодня относятся сверточные нейронные сети (CNN), специализирующиеся на распознавании объектов, которые черпали вдохновение из визуальной системы человека.

Как работают сверточные нейронные сети.

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

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

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

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

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

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

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

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

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

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

Первоначально опубликовано на https://www.linkedin.com.