Self-attention (cамовнимание?) в моделях компьютерного зрения
arXiv:1906.05909
Статья сильно не новая, но полезная. В ней attention подход переносится из сетей, применяемых для работы с текстами (перевода), на сети, которые призваны решать задачи компьютерного зрения.
Читать дальше...
arXiv:1906.05909
Статья сильно не новая, но полезная. В ней attention подход переносится из сетей, применяемых для работы с текстами (перевода), на сети, которые призваны решать задачи компьютерного зрения.
Читать дальше...
arXiv.org
Stand-Alone Self-Attention in Vision Models
Convolutions are a fundamental building block of modern computer vision systems. Recent approaches have argued for going beyond convolutions in order to capture long-range dependencies. These...
Изображения как набор слов 16 х 16.
arXiv:2010.11929
Если здесь attention модель применялась "локально" и фактически self-attention преобразование служило заменой стандартной свёртки, то сегодня посмотрим на статью, в которой авторы попытались максимально перенести подход, предложенный для решения задачи перевода в компьютерное зрение.
Читать дальше...
arXiv:2010.11929
Если здесь attention модель применялась "локально" и фактически self-attention преобразование служило заменой стандартной свёртки, то сегодня посмотрим на статью, в которой авторы попытались максимально перенести подход, предложенный для решения задачи перевода в компьютерное зрение.
Читать дальше...
Нейронная машина Тьюринга.
arXiv:1410.5401
Что такое машина Тьюринга все, наверное, знают. В статье рассказывается о некоем аналоге такой машины на базе нейронных сетей.
Т.е. разбирается вопрос можно ли обучить сеть выполнять какой-нибудь алгоритм, используя подход "обучения с учителем", т.е. на базе набора примеров. Не просто классифицировать или даже генерировать картинку-текст-видео, а именно, чтобы сама сеть "написала" программу по набору примеров, а потом на новых примерах её выполнила. Например, научилась копировать последовательность данных или сортировать их и т.п.
Известен результат, что рекуррентная нейронная сеть (RNN) может представлять универсальную машину Тьюринга (см. здесь ), проблема только в том, что теоретически то она может, но практически имеются некоторые проблемы, чтобы получить нужный результат.
Читать дальше...
arXiv:1410.5401
Что такое машина Тьюринга все, наверное, знают. В статье рассказывается о некоем аналоге такой машины на базе нейронных сетей.
Т.е. разбирается вопрос можно ли обучить сеть выполнять какой-нибудь алгоритм, используя подход "обучения с учителем", т.е. на базе набора примеров. Не просто классифицировать или даже генерировать картинку-текст-видео, а именно, чтобы сама сеть "написала" программу по набору примеров, а потом на новых примерах её выполнила. Например, научилась копировать последовательность данных или сортировать их и т.п.
Известен результат, что рекуррентная нейронная сеть (RNN) может представлять универсальную машину Тьюринга (см. здесь ), проблема только в том, что теоретически то она может, но практически имеются некоторые проблемы, чтобы получить нужный результат.
Читать дальше...
RNN, LSTM, GRU и другие рекуррентные нейронные сети.
Поразбираемся с одним интересным классом нейронных сетей, которые называются рекуррентные нейронные сети. Это сети, которые обычно используются в случае, когда входные или выходные данные представляют из себя последовательность элементов, упорядоченных по времени. Например, это может быть предложение состоящие из слов, видео как набор кадров, и т.п.
Читать дальше...
Поразбираемся с одним интересным классом нейронных сетей, которые называются рекуррентные нейронные сети. Это сети, которые обычно используются в случае, когда входные или выходные данные представляют из себя последовательность элементов, упорядоченных по времени. Например, это может быть предложение состоящие из слов, видео как набор кадров, и т.п.
Читать дальше...
NeRF. Представление сцен в виде нейронных полей излучения для синтеза изображений
arXiv:2003.08934
В данной статье предложен метод, который позволяет по набору снимков, получать новые изображения той же сцены из точек, для которых в исходном наборе не было фотографий. Для этого тренируется нейронная сеть, которая для каждой трехмерной точки сцены с координатами $(x, y, z)$ для направления $(theta, phi)$ восстанавливает "прозрачность" этой точки и излучение в нужном направлении. Такое представление сцены авторы называют neural radiance field (NeRF)
схема из статьи
Читать дальше...
arXiv:2003.08934
В данной статье предложен метод, который позволяет по набору снимков, получать новые изображения той же сцены из точек, для которых в исходном наборе не было фотографий. Для этого тренируется нейронная сеть, которая для каждой трехмерной точки сцены с координатами $(x, y, z)$ для направления $(theta, phi)$ восстанавливает "прозрачность" этой точки и излучение в нужном направлении. Такое представление сцены авторы называют neural radiance field (NeRF)
схема из статьи
Читать дальше...
arXiv.org
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
We present a method that achieves state-of-the-art results for synthesizing novel views of complex scenes by optimizing an underlying continuous volumetric scene function using a sparse set of...
GANcraft. 3D рендеринг Minecraft миров, обучение без учителя
arXiv:2104.07659
В данной статье предлагается механизм генерации фотореалистичных изображений 3Д мира созданного в таких программах как Minecraft, т.е. на вход поступает: "крупноблочное" 3Д представление мира, точка съемки и стиль генерации (например, зима-весна-лето, утро-день-вечер и т.п.) - на выходе "фотография". Важно, отметить, что фотографии нормально склеиваются, т.е. одно место снятое с разных точек генерирует консистентные изображения.
Читать дальше...
arXiv:2104.07659
В данной статье предлагается механизм генерации фотореалистичных изображений 3Д мира созданного в таких программах как Minecraft, т.е. на вход поступает: "крупноблочное" 3Д представление мира, точка съемки и стиль генерации (например, зима-весна-лето, утро-день-вечер и т.п.) - на выходе "фотография". Важно, отметить, что фотографии нормально склеиваются, т.е. одно место снятое с разных точек генерирует консистентные изображения.
Читать дальше...
arXiv.org
GANcraft: Unsupervised 3D Neural Rendering of Minecraft Worlds
We present GANcraft, an unsupervised neural rendering framework for generating photorealistic images of large 3D block worlds such as those created in Minecraft. Our method takes a semantic block...
BARF. Bundle-Adjusting Neural Radiance Fields
arXiv:2104.06405
Еще одно продолжение NeRF, авторы этой статьи обращают внимание, что для получения хорошего представления 3D сцены при помощи нейронной сети, как это описано в NeRF необходимо, чтобы исходный набор изображений имел очень точные координаты камер. Однако в реальной ситуации далеко не всегда точные координаты места съёмки известны. Авторы предлагают способ тренировки нейронной сети типа NeRF, который может иметь дело с не вполне точными координатами камер.
NeRF vs BARF, изображение из статьи
Читать дальше...
arXiv:2104.06405
Еще одно продолжение NeRF, авторы этой статьи обращают внимание, что для получения хорошего представления 3D сцены при помощи нейронной сети, как это описано в NeRF необходимо, чтобы исходный набор изображений имел очень точные координаты камер. Однако в реальной ситуации далеко не всегда точные координаты места съёмки известны. Авторы предлагают способ тренировки нейронной сети типа NeRF, который может иметь дело с не вполне точными координатами камер.
NeRF vs BARF, изображение из статьи
Читать дальше...
arXiv.org
BARF: Bundle-Adjusting Neural Radiance Fields
Neural Radiance Fields (NeRF) have recently gained a surge of interest within the computer vision community for its power to synthesize photorealistic novel views of real-world scenes. One...
Предсказание пробок на дорогах, используя пространственно-временную корреляцию и гибридный фреймворк глубокого обучения.
arXiv:1612.01022
Cтатья решает задачу предсказания пробок (в достаточно простой постановке). Есть дорога без разветвлений и перекрёстков. На этой дороге отмечен некий набор контрольных точек, в которых каждые 5 минут замеряется traffic volume
карта с контрольными точками, изображение из статьи
Надо на основе значения величины в контрольных точках в текущий момент и в прошлом, предсказать значение traffic volume в будущем.
Читать дальше...
arXiv:1612.01022
Cтатья решает задачу предсказания пробок (в достаточно простой постановке). Есть дорога без разветвлений и перекрёстков. На этой дороге отмечен некий набор контрольных точек, в которых каждые 5 минут замеряется traffic volume
карта с контрольными точками, изображение из статьи
Надо на основе значения величины в контрольных точках в текущий момент и в прошлом, предсказать значение traffic volume в будущем.
Читать дальше...
Управляемый линейный модуль (Gated Linear Unit).
arXiv:1612.08083
На самом статья про построение модели языка с использованием управляемых свёрточных сетей (Gated Convolutional Networks), но мне область применения не очень интересна (плюс, думаю в этой области такой подход уже несколько устарел, там сейчас рулит BERT и вот это вот всё), а вот базовый блок, предложенный в данной статье хочется разобрать, чтобы потом можно было ссылаться. Потому что этот блок может быть использован при работе с временными последовательностями в качестве замены рекуррентных сетей.
Читать дальше...
arXiv:1612.08083
На самом статья про построение модели языка с использованием управляемых свёрточных сетей (Gated Convolutional Networks), но мне область применения не очень интересна (плюс, думаю в этой области такой подход уже несколько устарел, там сейчас рулит BERT и вот это вот всё), а вот базовый блок, предложенный в данной статье хочется разобрать, чтобы потом можно было ссылаться. Потому что этот блок может быть использован при работе с временными последовательностями в качестве замены рекуррентных сетей.
Читать дальше...
arXiv.org
Language Modeling with Gated Convolutional Networks
The pre-dominant approach to language modeling to date is based on recurrent neural networks. Their success on this task is often linked to their ability to capture unbounded context. In this...
Графы, лапласиан, кластера и т.п.
Графы и всевозможные алгоритмы с ними связанные, раньше входили в тройку лидеров по популярности в разнообразных книжках про программирование, наряду с алгоритмами сортировки и поиска. Теория графов область весьма обширная и пытаться объять её во всей полноте возможных задач в одной статье (или даже в нескольких статьях) совершенно бесполезно, народ пишет серьёзные толстые книжки и при этом тоже далеко не о всех возможных аспектах рассказывает.
Однако, есть желание не особо углублясь во всякого рода хроматические числа, гамильтоновы циклы и прочие познавательные вещи, разобраться с некоторыми базовыми наработками в теории графов и отталкиваясь от них перейти к нейронным сетям на этих графах построенных.
Читать дальше...
Графы и всевозможные алгоритмы с ними связанные, раньше входили в тройку лидеров по популярности в разнообразных книжках про программирование, наряду с алгоритмами сортировки и поиска. Теория графов область весьма обширная и пытаться объять её во всей полноте возможных задач в одной статье (или даже в нескольких статьях) совершенно бесполезно, народ пишет серьёзные толстые книжки и при этом тоже далеко не о всех возможных аспектах рассказывает.
Однако, есть желание не особо углублясь во всякого рода хроматические числа, гамильтоновы циклы и прочие познавательные вещи, разобраться с некоторыми базовыми наработками в теории графов и отталкиваясь от них перейти к нейронным сетям на этих графах построенных.
Читать дальше...
👍1
Графы, процесс загрубления, кластеризация
В прошлый раз разобрали некоторые общие моменты связанные с графами, теперь поговорим подробнее про разбиение графов на части, т.е. кластеризацию. Мы не будем заходить в какие-то очень тонкие детали, возможно позже разберём конкретные статьи, пока хочется получить представление о двух вещах: первая - это загрубление графа - т.е. алгоритмы уменьшающие размер графа, сохраняя его структурные свойства, вторая - это собственно кластеризация графа (в основном будем разбирать спектральную кластеризацию).
Читать дальше...
В прошлый раз разобрали некоторые общие моменты связанные с графами, теперь поговорим подробнее про разбиение графов на части, т.е. кластеризацию. Мы не будем заходить в какие-то очень тонкие детали, возможно позже разберём конкретные статьи, пока хочется получить представление о двух вещах: первая - это загрубление графа - т.е. алгоритмы уменьшающие размер графа, сохраняя его структурные свойства, вторая - это собственно кластеризация графа (в основном будем разбирать спектральную кластеризацию).
Читать дальше...
Сигналы на графах, свёртки и полиномы Чебышева.
Еще раз поговорим про сигналы на графах. И о том как быстро считать свёртки сигнала с использованием полиномов Чебышева. Нужно это нам для того, чтобы собирать свёрточные сети на графах. Хотя исходно это разбиралось в [1] для навешивание на графы вейвлет преобразований.
Читать дальше...
Еще раз поговорим про сигналы на графах. И о том как быстро считать свёртки сигнала с использованием полиномов Чебышева. Нужно это нам для того, чтобы собирать свёрточные сети на графах. Хотя исходно это разбиралось в [1] для навешивание на графы вейвлет преобразований.
Читать дальше...
Полуавтоматическое обучение классификатора с свёрточными сетями на графах.
arXiv:1609.02907
В статье рассказывается об использовании свёрточной сети на графе для полуавтоматического обучения классификатора.
Задача стоит: взять граф некоторым вершинам которого приписан класс, и продолжить классификацию на неразмеченные вершины. Например, мы хотим классифицировать документы, помещаем их в вершины графа, и связываем две вершины ребром, если один из документов ссылается на другой. При этом у нас только небольшой части документов приписаны метки, а мы хотим разметить все документы.
Читать дальше...
arXiv:1609.02907
В статье рассказывается об использовании свёрточной сети на графе для полуавтоматического обучения классификатора.
Задача стоит: взять граф некоторым вершинам которого приписан класс, и продолжить классификацию на неразмеченные вершины. Например, мы хотим классифицировать документы, помещаем их в вершины графа, и связываем две вершины ребром, если один из документов ссылается на другой. При этом у нас только небольшой части документов приписаны метки, а мы хотим разметить все документы.
Читать дальше...
Свёрточные нейронные сети на графах с быстрыми локализованными спектральными фильтрами.
arXiv:1606.09375
Снова про свёрточные сети на графах. Однако в отличии от того, что разбирали в прошлый раз, у нас задача не перекидывать разметку с одних вершин на другие, а, например, классифицировать сигнал на графе. Если сравнивать со свёрточными сетями на изображениях, предыдущую задачу можно было бы сравнить с задачей семантической сегментации, когда часть изображения уже отсегментирована, и на базе этого знания надо доразметить оставшуюся часть. А сегодня мы разберём аналог классической задачи - классификации изображения. Собственно, авторы и проверяют свой подход на классическом датасете MNIST, представив изображения в виде графа и тренируя сетку для классификации. Авторы выложили код, реализующий идеи статьи, что сильно помогает в понимании работы.
Читать дальше...
arXiv:1606.09375
Снова про свёрточные сети на графах. Однако в отличии от того, что разбирали в прошлый раз, у нас задача не перекидывать разметку с одних вершин на другие, а, например, классифицировать сигнал на графе. Если сравнивать со свёрточными сетями на изображениях, предыдущую задачу можно было бы сравнить с задачей семантической сегментации, когда часть изображения уже отсегментирована, и на базе этого знания надо доразметить оставшуюся часть. А сегодня мы разберём аналог классической задачи - классификации изображения. Собственно, авторы и проверяют свой подход на классическом датасете MNIST, представив изображения в виде графа и тренируя сетку для классификации. Авторы выложили код, реализующий идеи статьи, что сильно помогает в понимании работы.
Читать дальше...
arXiv.org
Convolutional Neural Networks on Graphs with Fast Localized...
In this work, we are interested in generalizing convolutional neural networks (CNNs) from low-dimensional regular grids, where image, video and speech are represented, to high-dimensional...
Пространственно-временные свёрточные сети на графах. Фреймворк глубокого обучения для предсказания дорожного трафика
arXiv:1709.04875
Уже разбирали статью про предсказание дорожного трафика, там для решения использовались обычные свёрточные слои и рекуррентные сети (LSTM), но задача в этой статье была относительно простой, за счёт того, что пробки надо было предсказывать на дороге, которая по сути своей представляла некий коридор, т.е. на ней не было перекрёстков и боковых входящих-исходящих дорог. Собственно, поэтому и можно было использовать обычные одномерные свёрточные слои. В данной статье авторы рассматривают более сложные дорожные сети, которые могут быть представлены в виде графов.
В данном случае используются те наработки по свёрточным сетям на графах, с которыми мы сталкивались в статьях: раз и два.
Читать дальше...
arXiv:1709.04875
Уже разбирали статью про предсказание дорожного трафика, там для решения использовались обычные свёрточные слои и рекуррентные сети (LSTM), но задача в этой статье была относительно простой, за счёт того, что пробки надо было предсказывать на дороге, которая по сути своей представляла некий коридор, т.е. на ней не было перекрёстков и боковых входящих-исходящих дорог. Собственно, поэтому и можно было использовать обычные одномерные свёрточные слои. В данной статье авторы рассматривают более сложные дорожные сети, которые могут быть представлены в виде графов.
В данном случае используются те наработки по свёрточным сетям на графах, с которыми мы сталкивались в статьях: раз и два.
Читать дальше...
arXiv.org
Spatio-Temporal Graph Convolutional Networks: A Deep Learning...
Timely accurate traffic forecast is crucial for urban traffic control and guidance. Due to the high nonlinearity and complexity of traffic flow, traditional methods cannot satisfy the requirements...
Двойная свёрточная сеть на графе для полуавтоматической классификации
2018-04
Разбирали статью про полуавтоматическое обучение, в статье описывалась сеть с помошью которой, имея разметку для части вершин графа, можно продолжить эту разметку на непомеченные вершины. В новой статье предлагается улучшить решение этой задачки путём добавления еще одного слагаемого в штрафную функцию. Это слагаемое описывает связь между вершинами графа, основанную на положительной точечной взаимной информации (positive pointwise mutual information) и помогает улучшить глобальную согласованность разметки.
Читать дальше...
2018-04
Разбирали статью про полуавтоматическое обучение, в статье описывалась сеть с помошью которой, имея разметку для части вершин графа, можно продолжить эту разметку на непомеченные вершины. В новой статье предлагается улучшить решение этой задачки путём добавления еще одного слагаемого в штрафную функцию. Это слагаемое описывает связь между вершинами графа, основанную на положительной точечной взаимной информации (positive pointwise mutual information) и помогает улучшить глобальную согласованность разметки.
Читать дальше...
struc2vec. Представление вершин графа на основе структурной идентичности
arXiv:1704.03165
Авторы предлагают новый подход к представлению вершин графа в виде элементов некоторого векторного пространства. При этом вектора, представляющие структурно похожие вершины, близки в смысле обычной метрики векторного пространства.
На самом деле, построение функции, вкладывающей вершины графа в некоторое векторное пространство, неоднократно обсуждалось в различных статьях, например, мы разбирали node2vec подход. Есть варианты такого вложения при помощи нейронных сетей. Однако, эти подходы опираются на локальную структуру графа, т.е. две вершины получат близкое представление в виде векторов, если они близки в графе. Это хорошо в случае, когда выполняется предположение о наличии свойства групповой эквивалентности (homophily) вершин, но именно структурная эквивалентность двух вершин, далёких в графе в таком представлении не улавливается.
В качестве примера мы можем рассмотреть, например, граф представляющий связи работников некоторого (достаточно большого) завода. Подходы типа node2vec позволяют получить векторное представление вершин при котором, близкими будут вектора, соответствующие работникам одного цеха, а новый подход, должен позволить выявить структурные особенности, т.е. близкими в нём будут вектора начальников цехов, а вектора обычных работников (независимо от цеха) составят в векторном пространстве другой кластер.
Читать дальше...
arXiv:1704.03165
Авторы предлагают новый подход к представлению вершин графа в виде элементов некоторого векторного пространства. При этом вектора, представляющие структурно похожие вершины, близки в смысле обычной метрики векторного пространства.
На самом деле, построение функции, вкладывающей вершины графа в некоторое векторное пространство, неоднократно обсуждалось в различных статьях, например, мы разбирали node2vec подход. Есть варианты такого вложения при помощи нейронных сетей. Однако, эти подходы опираются на локальную структуру графа, т.е. две вершины получат близкое представление в виде векторов, если они близки в графе. Это хорошо в случае, когда выполняется предположение о наличии свойства групповой эквивалентности (homophily) вершин, но именно структурная эквивалентность двух вершин, далёких в графе в таком представлении не улавливается.
В качестве примера мы можем рассмотреть, например, граф представляющий связи работников некоторого (достаточно большого) завода. Подходы типа node2vec позволяют получить векторное представление вершин при котором, близкими будут вектора, соответствующие работникам одного цеха, а новый подход, должен позволить выявить структурные особенности, т.е. близкими в нём будут вектора начальников цехов, а вектора обычных работников (независимо от цеха) составят в векторном пространстве другой кластер.
Читать дальше...
arXiv.org
struc2vec: Learning Node Representations from Structural Identity
Structural identity is a concept of symmetry in which network nodes are identified according to the network structure and their relationship to other nodes. Structural identity has been studied in...
Передача знаний в нейронной сети
arXiv:1503.02531
Статья рассказывает про передачу знаний (knowledge distillation) от уже наученной сети (обычно большой и сложной) к сети необученной (обычно существенно меньших размеров). Исходную большую и сложную сеть называют учителем, а маленькую - учеником.
На самом деле можно рассматривать эту задачу двояко. Во-первых, как способ натренировать малую сеть лучше, чем она сможет это сделать просто на исходном датасете. Здесь работает то, что большая сеть может уловить сходство разных классов и передать эти знания малой сети, которая такие тонкости не заметит. Действительно, если мы решили классифицировать котиков, собачек, птиц и самолеты, то возможно нам будет полезно, что котики могут быть похожи на собак, а вот на самолеты совсем нет, и если большая сеть это "знает" и сможет рассказать малой, то это важно. Потому что малая, возможно, сама из датасета этому научиться не сможет.
Во-вторых, случаются ситуации, когда большая сеть натренирована, но датасет на котором она тренировалась по каким-то причинам не доступен (очень большой, очень под копирайтом и т.п.), зато есть какой-то неразмеченный набор объектов тех же классов с помощью которого, можно передать знания от большой сети к малой.
Читать дальше...
arXiv:1503.02531
Статья рассказывает про передачу знаний (knowledge distillation) от уже наученной сети (обычно большой и сложной) к сети необученной (обычно существенно меньших размеров). Исходную большую и сложную сеть называют учителем, а маленькую - учеником.
На самом деле можно рассматривать эту задачу двояко. Во-первых, как способ натренировать малую сеть лучше, чем она сможет это сделать просто на исходном датасете. Здесь работает то, что большая сеть может уловить сходство разных классов и передать эти знания малой сети, которая такие тонкости не заметит. Действительно, если мы решили классифицировать котиков, собачек, птиц и самолеты, то возможно нам будет полезно, что котики могут быть похожи на собак, а вот на самолеты совсем нет, и если большая сеть это "знает" и сможет рассказать малой, то это важно. Потому что малая, возможно, сама из датасета этому научиться не сможет.
Во-вторых, случаются ситуации, когда большая сеть натренирована, но датасет на котором она тренировалась по каким-то причинам не доступен (очень большой, очень под копирайтом и т.п.), зато есть какой-то неразмеченный набор объектов тех же классов с помощью которого, можно передать знания от большой сети к малой.
Читать дальше...
arXiv.org
Distilling the Knowledge in a Neural Network
A very simple way to improve the performance of almost any machine learning algorithm is to train many different models on the same data and then to average their predictions. Unfortunately,...
👍1
Улучшение передачи знаний с использованием ассистента учителя
arXiv:1902.03393
В прошлый раз разбирался с передачей знаний от большой нейронной сети (учителя) к маленькой нейронной сети (ученику). В статье, разбираемой сегодня, авторы выдвигают идею, которую можно описать примерно следующим образом: слишком умный учитель не может хорошо обучить слишком слабого ученика, поэтому такому учителю нужен ассистент. Т.е. передача знаний от большой нейронной сети к очень маленькой, будет идти лучше, если мы вначале натренируем промежуточную сеть: ассистента учителя (teacher assistent) в которую передадим знания от учителя, а уже эта средняя сеть будет использоваться для тренировки совсем малой нейронной сети-ученика.
Учитель, ассистент и ученик, изображение из статьи
Читать дальше...
arXiv:1902.03393
В прошлый раз разбирался с передачей знаний от большой нейронной сети (учителя) к маленькой нейронной сети (ученику). В статье, разбираемой сегодня, авторы выдвигают идею, которую можно описать примерно следующим образом: слишком умный учитель не может хорошо обучить слишком слабого ученика, поэтому такому учителю нужен ассистент. Т.е. передача знаний от большой нейронной сети к очень маленькой, будет идти лучше, если мы вначале натренируем промежуточную сеть: ассистента учителя (teacher assistent) в которую передадим знания от учителя, а уже эта средняя сеть будет использоваться для тренировки совсем малой нейронной сети-ученика.
Учитель, ассистент и ученик, изображение из статьи
Читать дальше...
arXiv.org
Improved Knowledge Distillation via Teacher Assistant
Despite the fact that deep neural networks are powerful models and achieve appealing results on many tasks, they are too large to be deployed on edge devices like smartphones or embedded sensor...
👍1
Глубокое взаимное обучение
arXiv:1706.00384
Разобрал уже два варианта knowledge distillation в первом случае данные передавались от очень большой сети (учителя) к маленькой (ученику) напрямую, а во втором обучение происходило через посредника - сетку среднего размера (помошника учителя). Авторы статьи, рассматриваемой сегодня, предлагают подход, который они назвали глубокое взаимное обучение (deep mutual learning (DML)): несколько небольших сеток обучаются одновременно обмениваясь между собой знаниями во время обучения.
Возникает вопрос почему такое взаимное обучение должно привести к хорошим результатам (лучшим, чем просто обучение отдельной нейронной сети)? Авторы обосновывают это тем, что все малые сетки с каждым шагом тренировки должны всё лучше и лучше интерполировать вероятности принадлежности подаваемого на вход объекту одному из классов, но при этом вероятности остальных классов у каждой из сетей будут распределены по разному (поскольку обучение стартует с разных начальных весов, даже если структура сетей одинакова), и обмениваясь вот этой информацией сети и дообучают друг друга.
Читать дальше...
arXiv:1706.00384
Разобрал уже два варианта knowledge distillation в первом случае данные передавались от очень большой сети (учителя) к маленькой (ученику) напрямую, а во втором обучение происходило через посредника - сетку среднего размера (помошника учителя). Авторы статьи, рассматриваемой сегодня, предлагают подход, который они назвали глубокое взаимное обучение (deep mutual learning (DML)): несколько небольших сеток обучаются одновременно обмениваясь между собой знаниями во время обучения.
Возникает вопрос почему такое взаимное обучение должно привести к хорошим результатам (лучшим, чем просто обучение отдельной нейронной сети)? Авторы обосновывают это тем, что все малые сетки с каждым шагом тренировки должны всё лучше и лучше интерполировать вероятности принадлежности подаваемого на вход объекту одному из классов, но при этом вероятности остальных классов у каждой из сетей будут распределены по разному (поскольку обучение стартует с разных начальных весов, даже если структура сетей одинакова), и обмениваясь вот этой информацией сети и дообучают друг друга.
Читать дальше...
arXiv.org
Deep Mutual Learning
Model distillation is an effective and widely used technique to transfer knowledge from a teacher to a student network. The typical application is to transfer from a powerful large network or...
👍1