Your AI powered learning assistant

Лекция 1 | Введение в сверточные нейронные сети для визуального распознавания

Introduction

00:00:00

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

Computer Vision

00:00:50

Компьютерное зрение фокусируется на анализе визуальных данных, который стремительно растет из-за распространения датчиков, таких как камеры смартфонов. Поскольку камер во всем мире больше, чем людей, ежедневно создается огромный объем визуального контента. В исследовании CISCO, проведенном в 2015 году, прогнозировалось, что к 2017 году видео будет составлять около 80% интернет—трафика, что подчеркивает необходимость разработки эффективных алгоритмов для обработки этих данных. Однако понимание визуальной информации остается сложной задачей; в физике ее часто сравнивают с темной материей — вездесущей, но неуловимой, и алгоритмам трудно точно интерпретировать ее.

Interdisciplinary Fields

00:03:37

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

Course Related Courses

00:04:52

Понимание взаимосвязи между курсами важно для понимания сути CS231n. Этот курс предполагает базовые знания в области компьютерного зрения, которые в идеале можно получить на курсах CS131 или аналогичных курсах по глубокому обучению и обработке естественного языка. Несмотря на то, что курсы CS231a частично совпадают с другими курсами, такими как CS231a, которые охватывают более широкие темы в области компьютерного зрения, такие как 3D-реконструкция и роботизированное зрение, CS231n специально посвящен нейронным сетям и сверточным нейронным сетям, применяемым для задач визуального распознавания. Важность понимания истории компьютерного зрения будет подчеркнута с помощью предварительно записанных идей профессора Фей-Фей Ли.

Course Topics

00:07:17

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

History of Vision

00:07:34

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

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

A Block World

00:13:44

Истоки компьютерного зрения восходят к началу 1960-х годов, когда Ларри Робертс разработал проект Block World. Это новаторское исследование упростило визуальное восприятие основных геометрических форм, заложив фундаментальные концепции распознавания сложных сред. Цель состояла в том, чтобы разработать системы, способные интерпретировать и понимать эти упрощенные представления в качестве предшественника более сложных задач визуального распознавания.

The Summer Vision Project

00:14:19

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

David Marr

00:15:25

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

Primal Sketch

00:15:51

Primal Sketch - это основополагающая концепция компьютерного зрения, позволяющая машинам интерпретировать визуальную информацию. Она начинается с определения базовых элементов, таких как края и кривые, вдохновленная открытиями нейробиологов о ранней обработке визуальной информации. После этого начального этапа "эскиз в два с половиной D" объединяет детали глубины и поверхности сцены. В конечном итоге эти компоненты объединяются в комплексную 3D-модель, которая иерархически упорядочивает визуальные данные. Этот структурированный подход на протяжении десятилетий оказывал значительное влияние на методологии компьютерного зрения.

Representation

00:17:39

В 1970-х годах исследователи начали изучать способы представления объектов реального мира, выходящие за рамки простых моделей. Они предложили такие понятия, как "обобщенный цилиндр" и "изобразительная структура", предполагая, что сложные объекты можно разбить на более простые геометрические формы и их конфигурации. Несмотря на эти новаторские идеи, распознавание объектов в ту эпоху по-прежнему было сопряжено со значительными трудностями из-за ограниченности данных и низкой вычислительной мощности. В 1980-х годах Дэвид Лоу предпринял дальнейшие попытки реконструировать визуальные элементы с использованием линий и краев, но по-прежнему сталкивался с трудностями при поиске практических решений для реальных приложений.

Image Segmentation

00:20:53

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

Face Detection

00:21:31

Распознавание лиц стало значительным достижением в области компьютерного зрения, особенно в период с 1999 по 2000 год. Развитие методов статистического машинного обучения, таких как методы опорных векторов и AdaBoost, сыграло решающую роль в этом прогрессе. Примечательно, что в 2001 году Пол Виола и Майкл Джонс разработали эффективный метод распознавания лиц в реальном времени с использованием алгоритма AdaBoost, несмотря на ограниченные в то время вычислительные мощности. Эта инновация быстро перешла от научных исследований к практическому применению, когда в 2006 году компания Fujifilm выпустила первую цифровую камеру со встроенной функцией распознавания лиц в режиме реального времени.

FeatureBased Object Recognition

00:23:07

Распознавание объектов на основе признаков появилось в конце 90-х и начале 2000-х годов под значительным влиянием метода SIFT feature Дэвида Лоу. Этот подход решает такие проблемы, как ракурсы съемки, загораживание, изменение точки обзора, вариации освещения и внутренние различия между объектами, которые затрудняют прямое сопоставление целых объектов. Вместо попыток сопоставления целых изображений — например, знаков "стоп" — основное внимание уделяется выявлению ключевых инвариантных признаков объекта, которые остаются неизменными, несмотря на эти различия. Благодаря распознаванию ограниченного числа важных признаков одного объекта и сравнению их с аналогичными, задача становится более выполнимой, чем при традиционном сопоставлении с образцом.

FeatureBased Image Recognition

00:24:49

Распознавание изображений на основе признаков позволило распознавать целостные сцены путем выявления диагностических признаков на изображениях. Алгоритм, называемый Spatial Pyramid Matching, анализирует различные части изображения с различным разрешением, создавая всеобъемлющий дескриптор признаков для классификации сцен с использованием метода опорных векторов. Аналогичные достижения были достигнуты в распознавании человека с помощью таких методов, как гистограмма градиентов и модели деформируемых деталей, которые позволяют создавать реалистичные фигуры людей на изображениях. Переход от предыдущих десятилетий к 21 веку свидетельствует о значительном улучшении качества изображений благодаря цифровым камерам и развитию Интернета.

Visual Object Recognition

00:26:49

В начале 2000-х годов компьютерное зрение определило распознавание объектов как важнейшую проблему, требующую решения. PASCAL Visual Object Challenge стал важным эталонным набором данных, включающим 20 классов объектов, включая поезд, самолет и человека. Каждый класс содержит тысячи изображений, которые позволяют исследователям разрабатывать алгоритмы для проверки точности обнаружения. С 2007 по 2012 год показатели производительности демонстрировали постоянное улучшение распознавания этих объектов в наборе данных.

ImageNet

00:28:39

Группа ученых из Принстона и Стэнфорда стремилась распознавать большинство объектов в мире, руководствуясь проблемами машинного обучения, такими как переобучение из-за сложных визуальных данных. Чтобы решить эту проблему, они запустили ImageNet — масштабный проект, который собрал набор данных из миллиардов изображений, организованных в десятки тысяч категорий с помощью WordNet. За три года они использовали методы краудсорсинга с помощью Amazon Mechanical Turk для сортировки и маркировки почти 15 миллионов изображений по 22 000 классам объектов. В результате этих грандиозных усилий был не только создан один из крупнейших наборов данных в области искусственного интеллекта, но и значительно усовершенствованы алгоритмы распознавания объектов. В 2009 году был запущен международный конкурс со строгим набором тестов, предназначенных для оценки эффективности классификации изображений с помощью различных алгоритмов компьютерного зрения.

ImageNet Results

00:32:38

Результаты конкурса ImageNet Challenge за период с 2010 по 2015 год показывают значительное снижение частоты ошибок при классификации изображений, достигнув к 2012 году производительности на уровне человека. Поворотный момент наступил в том году, когда частота ошибок снизилась почти на десять процентов благодаря внедрению сверточных нейронных сетей (CNNS), которые на тот момент превосходили все другие алгоритмы. Это достижение ознаменовало поворотный момент в компьютерном зрении и смежных областях, таких как обработка естественного языка и распознавание речи, подчеркнув потенциал глубокого обучения. Курс будет посвящен пониманию моделей CNN, их принципов, передовой практики и последних разработок.

Image Classification

00:36:15

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

Other Visual Recognition Problems

00:37:08

Визуальное распознавание охватывает различные области применения, включая обнаружение объектов и создание субтитров к изображениям. Обнаружение объектов предполагает идентификацию конкретных объектов на изображении путем обводки их рамками, в то время как создание субтитров к изображениям требует создания описаний на естественном языке на основе визуального контента. Достижения в этих областях в значительной степени зависят от сверточных нейронных сетей (CNN), которые преобразили эту область с момента их появления в 2012 году благодаря успеху AlexNet на конкурсе ImageNet. Со временем архитектура CNN эволюционировала, становясь все более глубокой и сложной, что привело к значительному повышению производительности при решении таких задач, как классификация изображений.

Convolutional Neural Networks

00:40:22

Исторические корни сверточных нейронных сетей Сверточные нейронные сети (CNN) получили известность в 2012 году после успеха на конкурсе ImageNet Challenge, но появились они гораздо раньше. В конце 90-х Ян Лекун и его команда разработали CNN для распознавания цифр, чтобы автоматизировать обработку рукописных чеков. Архитектура этой ранней сети имеет сходство с AlexNet 2012 года, что указывает на сохранение основополагающих концепций с течением времени.

Ключевые инновации, способствующие популярности CNN Резкий рост популярности CNNS с 90-х годов можно объяснить двумя основными инновациями: вычислениями и доступностью данных. Повышение вычислительной мощности благодаря закону Мура и появлению графических процессоров позволило исследователям эффективно создавать более крупные модели. Кроме того, доступ к обширным наборам данных с маркировкой, таким как PASCAL и ImageNet, предоставил необходимый учебный материал, которого ранее не хватало; таким образом, эти алгоритмы наконец-то раскрыли свой потенциал в реальных задачах.

Open Challenges

00:44:04

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

Visual Genome

00:45:33

Visual Genome стремится представлять изображения в виде сложных графиков связанных понятий, отражающих идентичность объектов, отношения, атрибуты и действия. Этот подход призван отразить богатство визуальных впечатлений, которое упускается из виду простыми методами классификации. Исследование, проведенное в рамках докторской работы Фей-Фей, показывает, что даже кратковременное ознакомление с изображением позволяет людям создавать подробные рассказы о нем. Такие результаты подчеркивают потенциал для более глубокого понимания компьютерного зрения — понимания не только того, что видно, но и создания истории вокруг этого, основанной на предварительных знаниях и контексте.

The Holy Grail

00:47:44

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

Conclusion

00:49:07

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

Course Staff

00:49:56

Курс ведет Фей-Фей Ли, профессор компьютерных наук в Стэнфорде и директор лаборатории Vision Lab и лаборатории искусственного интеллекта, а также аспиранты Джастин Джонсон и Серена Енг. В этом году в преподавательский состав входят 18 специалистов, которые играют решающую роль в обеспечении бесперебойной работы. Примечательно, что Андрей Карпати впервые не будет проводить инструктаж после того, как в предыдущие годы внес значительный вклад в его развитие. Для общения с преподавателями Piazza является основной платформой для вопросов, позволяющей при необходимости задавать анонимные вопросы, а также альтернативными каналами, доступными для личных вопросов. Дополнительный учебник по глубокому обучению от Goodfellow и соавторов, опубликованный ранее в этом году, может улучшить понимание, но не является обязательным; все необходимые материалы предоставляются в рамках курса.

Philosophy

00:52:41

Понимание механики алгоритмов имеет решающее значение на этом занятии, поскольку основное внимание уделяется тому, как создаются нейронные сети и их архитектурному влиянию на обучение. Студенты будут реализовывать сверточные нейронные сети с нуля, используя Python, получая практический опыт как прямого, так и обратного прохождения. Кроме того, с помощью заданий и проектов можно будет ознакомиться с самыми современными программными средствами, такими как TensorFlow и Torch. Содержание курса остается актуальным благодаря быстрому прогрессу в этой области; в учебные материалы будут включены новые разработки, появившиеся после прошлогоднего обновления.

Fun Topics

00:54:24

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

Course Structure

00:54:59

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

Prerequisites

00:56:11

Глубокое знакомство с Python необходимо для выполнения заданий по программированию, в то время как некоторые знания C или C++ помогут разобраться в исходном коде. Требуются базовые навыки математического анализа и линейной алгебры, включая производные и матричные операции. Знакомство с концепциями компьютерного зрения на таких курсах, как CS131 или 231a, полезно, но не обязательно; тем, у кого нет предварительного опыта, может потребоваться наверстать упущенное. Также поможет фундаментальное понимание принципов машинного обучения, аналогичных CS229, хотя ключевые концепции будут пересматриваться по мере необходимости на протяжении всего курса.