Машинное обучение и нейронные сети - страница 54

 

Лекция 3.5 — Использование производных от обратного распространения



Лекция 3.5 — Использование производных от обратного распространения [Нейронные сети для машинного обучения]

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

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

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

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

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

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

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

 

Лекция 4.1 — Учимся предсказывать следующее слово



Лекция 4.1 — Учимся предсказывать следующее слово [Нейронные сети для машинного обучения]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Лекция 4.2 — Краткий экскурс в когнитивную науку



Лекция 4.2 — Краткий экскурс в когнитивистику [Нейронные сети для машинного обучения]

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

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

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

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

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

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

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

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

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

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

 

Лекция 4.3 — Функция вывода softmax [Нейронные сети для машинного обучения]



Лекция 4.3 — Функция вывода softmax [Нейронные сети для машинного обучения]

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

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

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

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

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

В группе softmax каждый модуль получает накопленный ввод, называемый логитом, с нижнего уровня. Выход каждой единицы, обозначенный как yi, зависит не только от ее собственного логита, но и от логитов, накопленных другими единицами в группе softmax. Математически выход i-го нейрона рассчитывается с использованием уравнения e^zi, деленного на сумму одного и того же количества для всех нейронов в группе softmax.

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

Производная функции softmax имеет простой вид, аналогичный логистической единице, что делает ее удобной для вычислений. Производная выхода по отношению к входу отдельного нейрона в группе softmax задается yi раз (1 - yi).

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

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

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

Чтобы еще больше проиллюстрировать этот момент, представьте, что вы делаете ставку, основываясь на убеждении, что ответ будет один на миллион или один на миллиард. Если вы сделаете ставку с шансом один к миллиону и ошибетесь, то потеряете миллион долларов. И наоборот, если бы ответ был один на миллиард, та же самая ставка привела бы к потере миллиарда долларов.

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

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

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

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

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

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

 

Лекция 4.4 — Нейро-вероятностные языковые модели



Лекция 4.4 — Нейро-вероятностные языковые модели [Нейронные сети для машинного обучения]

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

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

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

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

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

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

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

Со времени работы Бенжио языковые модели, использующие векторы признаков для слов, значительно улучшились и превзошли модели триграмм. Однако при работе с большим количеством выходных слов возникает проблема, поскольку для выходного слоя softmax может потребоваться значительное количество весов (например, сотни тысяч). Переоснащение может произойти, если последний скрытый слой слишком велик, но уменьшение его размера приводит к точному предсказанию огромного числа вероятностей.

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

 

Лекция 4.5 — Работа со многими возможными выходами



Лекция 4.5 — Работа со многими возможными выходами [Нейронные сети для машинного обучения]

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

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

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

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

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

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

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

Переходя к другой части карты, мы сталкиваемся с кластером, посвященным местам. Вверху мы находим различные штаты США, за которыми следуют города, преимущественно расположенные в Северной Америке. Кроме того, на карте показаны другие города и страны, что демонстрирует понимание нейронной сетью географических взаимосвязей. Например, он соединяет Кембридж с Торонто, Детройтом и Онтарио, принадлежащими англоязычной Канаде, а Квебек объединяется с Берлином и Парижем, связывая его с франкоязычной Канадой. Точно так же это предполагает сходство между Ираком и Вьетнамом.

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

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

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

 

Лекция 5.1 — Почему сложно распознавать объекты



Лекция 5.1 — Почему сложно распознавать объекты [Нейронные сети для машинного обучения]

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

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

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

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

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

 

Лекция 5.2 — Достижение инвариантности точки зрения



Лекция 5.2 — Достижение инвариантности точки зрения [Нейронные сети для машинного обучения]

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

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

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

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

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

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

 

Лекция 5.3 — Сверточные сети для распознавания цифр



Лекция 5.3 — Сверточные сети для распознавания цифр [Нейронные сети для машинного обучения]

В этом видео мы обсуждаем сверточные нейронные сети (CNN) и их применение для распознавания рукописных цифр. CNN имели большой успех в 1980-х годах, особенно глубокие сверточные сети Яна Лекуна, которые преуспели в распознавании рукописного текста и были реализованы на практике. Эти сети были одними из немногих глубоких нейронных сетей того времени, которые можно было обучить на доступных компьютерах и которые работали исключительно хорошо.

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

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

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

Ян Лекун и его сотрудники продемонстрировали мощь CNN в распознавании рукописных цифр, добившись впечатляющих результатов с помощью своей архитектуры LeNet-5. LeNet-5 включал в себя несколько скрытых слоев и карт объектов, а также объединение слоев. Он мог обрабатывать перекрывающиеся символы и не требовал сегментации перед вводом. Методология обучения использовала полный системный подход, генерируя почтовые индексы в качестве выходных данных из входных пикселей. Обучение проводилось по методу, аналогичному максимальной марже, еще до его официального введения. LeNet-5 оказался очень полезным при проверке чтения по всей Северной Америке.

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

Используя синтетические данные, было достигнуто несколько улучшений в распознавании рукописных цифр. Благодаря сочетанию таких приемов, как создание синтетических данных, обучение больших сетей на графических процессорах (GPU) и создание согласованных моделей, были достигнуты значительные улучшения. Например, группа под руководством Юргена Шмидхубера в Швейцарии сократила частоту ошибок примерно до 25 ошибок, что, вероятно, приближается к частоте ошибок человека. Для оценки производительности различных моделей необходимо учитывать, какие ошибки они допускают, а не полагаться исключительно на числовые показатели. Статистические тесты, такие как тест Макнемара, обеспечивают большую чувствительность за счет анализа конкретных ошибок, что позволяет лучше оценить превосходство модели.

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

Работа, проделанная группой Юргена Шмидхубера в Швейцарии, продемонстрировала эффективность внедрения знаний с помощью синтетических данных. Они приложили значительные усилия для создания поучительных синтетических данных путем преобразования реальных учебных случаев для создания дополнительных обучающих примеров. Обучив большую сеть со многими модулями на слой и многими слоями на графическом процессоре (GPU), они смогли использовать вычислительную мощность и избежать переобучения.

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

При сравнении моделей с разным уровнем ошибок возникает интересный вопрос: как определить, что модель с 30 ошибками значительно лучше, чем модель с 40 ошибками? Удивительно, но это зависит от конкретных ошибок, допущенных каждой моделью. Просто посмотреть на цифры недостаточно. Тест Макнемара, статистический тест, который фокусируется на конкретных ошибках, обеспечивает большую чувствительность при сравнении моделей.

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

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

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

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

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

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

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

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

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

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

Принимая во внимание эти факторы в дополнение к частоте ошибок и конкретным ошибкам, мы можем принимать более полные и обоснованные решения при оценке и сравнении моделей.

 

Лекция 5.4 — Сверточные сети для распознавания объектов



Лекция 5.4 — Сверточные сети для распознавания объектов [Нейронные сети для машинного обучения]

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

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

В конкурсе приняли участие ведущие группы компьютерного зрения из различных учреждений, использующие сложные многоступенчатые системы, сочетающие настраиваемые вручную ранние этапы с алгоритмами обучения на верхнем этапе. Однако задача оказалась очень сложной, с частотой ошибок от 26% до 27% для лучших систем. Напротив, глубокая нейронная сеть Алекса Крижевского достигла значительно более низкого уровня ошибок — 16%.

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

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

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

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

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

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

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

Причина обращения: