RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Январь 2021
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031

Календарь Календарь

Последние темы
» МКБ-8601: Технический проект процессора-эмулятора.
автор Viktor2312 Вчера в 23:32

» Микро-БЭСМ (МКБ-8601).
автор Viktor2312 Вчера в 23:04

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Вчера в 21:54

» Разное
автор Viktor2312 Вчера в 12:57

» Полезные книги
автор barsik Пт Янв 22 2021, 21:52

» Модулярная арифметика.
автор Viktor2312 Ср Янв 20 2021, 19:38

» Флейм только по теме "Радио-86РК".
автор ведущий_специалист Вт Янв 19 2021, 17:14

» Разработка игр для радио86 РК
автор ведущий_специалист Пн Янв 18 2021, 17:45

» Тема, пока без названия.
автор Viktor2312 Пн Янв 18 2021, 12:58

» "Радио-86РК". Статьи, заметки, очерки, разное...
автор Viktor2312 Пн Янв 18 2021, 11:53

» ДР Vita Удачи!
автор Viktor2312 Вс Янв 17 2021, 13:25

» Изучаем язык программирования С. Вариант-3.
автор Viktor2312 Вс Янв 17 2021, 01:42

» Улучшение видео возможностей РК86
автор ведущий_специалист Сб Янв 16 2021, 21:28

» ЭВМ "М-10".
автор Viktor2312 Пт Янв 15 2021, 17:44

» Документация (IBM 360).
автор Viktor2312 Ср Янв 13 2021, 22:28

» ЦПУ 8085
автор barsik Ср Янв 13 2021, 21:01

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор san010101 Вт Янв 12 2021, 11:54

» Стандартная библиотека языка Си.
автор Viktor2312 Пн Янв 11 2021, 13:26

» Для начинающих.
автор barsik Пт Янв 08 2021, 00:40

» Настройки ПДП КР580ВГ75
автор ведущий_специалист Ср Янв 06 2021, 16:10

» Микропроцессор КР580ВМ80А (i8080)
автор barsik Вт Янв 05 2021, 23:05

» МИКРО - 80. Статьи, заметки, очерки, разное...
автор barsik Пн Янв 04 2021, 17:28

» Новости форума
автор Viktor2312 Ср Дек 30 2020, 17:21

» Другой микропроцессор в ИРИШЕ
автор barsik Вт Дек 29 2020, 15:02

» Компиляторы Си для программирования РК86
автор barsik Пн Дек 28 2020, 22:11

Самые активные пользователи за месяц
Viktor2312
Свёрточная нейронная сеть (CNN). Vote_l10Свёрточная нейронная сеть (CNN). Voting10Свёрточная нейронная сеть (CNN). Vote_r10 
barsik
Свёрточная нейронная сеть (CNN). Vote_l10Свёрточная нейронная сеть (CNN). Voting10Свёрточная нейронная сеть (CNN). Vote_r10 
ведущий_специалист
Свёрточная нейронная сеть (CNN). Vote_l10Свёрточная нейронная сеть (CNN). Voting10Свёрточная нейронная сеть (CNN). Vote_r10 
Atari1974
Свёрточная нейронная сеть (CNN). Vote_l10Свёрточная нейронная сеть (CNN). Voting10Свёрточная нейронная сеть (CNN). Vote_r10 
san010101
Свёрточная нейронная сеть (CNN). Vote_l10Свёрточная нейронная сеть (CNN). Voting10Свёрточная нейронная сеть (CNN). Vote_r10 
Artur
Свёрточная нейронная сеть (CNN). Vote_l10Свёрточная нейронная сеть (CNN). Voting10Свёрточная нейронная сеть (CNN). Vote_r10 

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


Свёрточная нейронная сеть (CNN).

Перейти вниз

Свёрточная нейронная сеть (CNN). Empty Свёрточная нейронная сеть (CNN).

Сообщение  Viktor2312 в Вс Ноя 29 2020, 16:35

1
Свёрточная нейронная сеть.


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

Свёрточная нейронная сеть (convolutional neural network, CNN) — специальная архитектура искусственных нейронных сетей, предложенная Яном Лекуном в 1988 году и нацеленная на эффективное распознавание образов, входит в состав технологий глубокого обучения (deep learning). Использует некоторые особенности зрительной коры, в которой были открыты так называемые простые клетки, реагирующие на прямые линии под разными углами, и сложные клетки, реакция которых связана с активацией определённого набора простых клеток. Таким образом, идея свёрточных нейронных сетей заключается в чередовании свёрточных слоёв (convolution layers) и субдискретизирующих слоёв (subsampling layers или pooling layers, слоёв подвыборки). Структура сети — однонаправленная (без обратных связей), принципиально многослойная. Для обучения используются стандартные методы, чаще всего метод обратного распространения ошибки. Функция активации нейронов (передаточная функция) — любая, по выбору исследователя.

Таким образом, идея свёрточных нейронных сетей заключается в чередовании свёрточных слоёв и субдискретизирующих слоёв.

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


Почему именно свёрточные сети?

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

Так, если требуется работать с цветными изображениями размером 64х64, то для каждого нейрона первого слоя полносвязной сети потребуется 64·64·3 = 12288 параметров, а если сеть должна распознавать изображения 1000х1000, то входных параметров будет уже 3 млн! А помимо входного слоя есть и другие слои, на которых, зачастую, число нейронов превышает количество нейронов на входном слое, из-за чего 3 млн запросто превращаются в триллионы! Такое количество параметров просто невозможно рассчитать быстро ввиду недостаточно больших вычислительных мощностей ЭВМ.

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


Интерпретация.

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

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


Что представляют свёрточные нейронные сети.

В отличие от сетей прямого распространения, которые работают с данными в виде векторов, свёрточные сети работают с изображениями в виде тензоров. Тензоры — это 3D массивы чисел, или, проще говоря, массивы матриц чисел.

Свёрточная нейронная сеть (CNN). K210_026

Изображения в ЭВМ представляются в виде пикселей, а каждый пиксель – это значения интенсивности соответствующих каналов. При этом интенсивность каждого из каналов описывается целым числом от 0 до 255. Чаще всего используются цветные изображения, которые состоят из RGB пикселей – пикселей, содержащих яркости по трём каналам: красному, зелёному и синему. Различные комбинации этих цветов позволяют создать любой из цветов всего спектра. Именно поэтому вполне логично использовать именно тензоры для представления изображений: каждая матрица тензора отвечает за интенсивность своего канала, а совокупность всех матриц описывает всё изображение.

Свёрточная нейронная сеть (CNN). K210_027

Свёрточная нейронная сеть (CNN). K210_028


Архитектура и принцип работы.

В обычном перцептроне, который представляет собой полносвязную нейронную сеть, каждый нейрон связан со всеми нейронами предыдущего слоя, причём каждая связь имеет свой персональный весовой коэффициент. В свёрточной нейронной сети в операции свёртки используется лишь ограниченная матрица весов небольшого размера, которую «двигают» по всему обрабатываемому слою (в самом начале — непосредственно по входному изображению), формируя после каждого сдвига сигнал активации для нейрона следующего слоя с аналогичной позицией. То есть для различных нейронов выходного слоя используются одна и та же матрица весов, которую также называют ядром свёртки. Её интерпретируют как графическое кодирование какого-либо признака, например, наличие наклонной линии под определённым углом. Тогда следующий слой, получившийся в результате операции свёртки такой матрицей весов, показывает наличие данного признака в обрабатываемом слое и её координаты, формируя так называемую карту признаков (feature map). Естественно, в свёрточной нейронной сети набор весов не один, а целая гамма, кодирующая элементы изображения (например линии и дуги под разными углами). При этом такие ядра свёртки не закладываются исследователем заранее, а формируются самостоятельно путём обучения сети классическим методом обратного распространения ошибки. Проход каждым набором весов формирует свой собственный экземпляр карты признаков, делая нейронную сеть многоканальной (много независимых карт признаков на одном слое). Также следует отметить, что при переборе слоя матрицей весов её передвигают обычно не на полный шаг (размер этой матрицы), а на небольшое расстояние. Так, например, при размерности матрицы весов 5×5 её сдвигают на один или два нейрона (пикселя) вместо пяти, чтобы не «перешагнуть» искомый признак.

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

Свёрточная нейронная сеть (CNN). K210_029

Операция субдискретизации (subsampling, pooling, также переводимая как «операция подвыборки» или операция объединения), выполняет уменьшение размерности сформированных карт признаков. В данной архитектуре сети считается, что информация о факте наличия искомого признака важнее точного знания его координат, поэтому из нескольких соседних нейронов карты признаков выбирается максимальный и принимается за один нейрон уплотнённой карты признаков меньшей размерности. За счёт данной операции, помимо ускорения дальнейших вычислений, сеть становится более инвариантной к масштабу входного изображения.

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


Свёрточный слой.

Слой свёртки (convolutional layer) — это основной блок свёрточной нейронной сети. Слой свёртки включает в себя для каждого канала свой фильтр, ядро свёртки которого обрабатывает предыдущий слой по фрагментам (суммируя результаты поэлементного произведения для каждого фрагмента). Весовые коэффициенты ядра свёртки (небольшой матрицы) неизвестны и устанавливаются в процессе обучения. Его основное назначение – выделить признаки на входном изображении и сформировать карту признаков. Карта признаков – это всего лишь очередной тензор (массив матриц), в котором каждый канал отвечает за какой-нибудь выделенный признак.

Для того, чтобы слой мог выделять признаки, в нём имеются так называемые фильтры (или ядра). Ядра — это всего лишь набор тензоров. Эти тензоры имеют один и тот же размер, а их количество определяет глубину выходного 3D массива. При этом глубина самих фильтров совпадает с количеством каналов входного изображения. Так, если на вход свёрточному слою подаётся RGB изображение и требуется карта признаков, состоящая из 32 каналов, то свёрточный слой будет содержать в себе 32 фильтра глубиной 3.

Особенностью свёрточного слоя является сравнительно небольшое количество параметров, устанавливаемое при обучении. Так например, если исходное изображение имеет размерность 100×100 пикселей по трём каналам (это значит 30000 входных нейронов), а свёрточный слой использует фильтры с ядром 3x3 пикселя с выходом на 6 каналов, тогда в процессе обучения определяется только 9 весов ядра, однако по всем сочетаниям каналов, то есть 9×3×6 =162, в таком случае данный слой требует нахождения только 162 параметров, что существенно меньше количества искомых параметров полносвязной нейронной сети.

Свёрточная нейронная сеть (CNN). K210_030

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

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

Свёрточная нейронная сеть (CNN). K210_031

Свёрточная нейронная сеть (CNN). K210_032

Свёрточная нейронная сеть (CNN). K210_033

Свёрточная нейронная сеть (CNN). K210_034

Свёрточная нейронная сеть (CNN). K210_035

Свёрточная нейронная сеть (CNN). K210_036

Свёрточная нейронная сеть (CNN). K210_037

Свёрточная нейронная сеть (CNN). K210_038

Свёрточная нейронная сеть (CNN). K210_039

Затем числа полученных матриц суммируются в единую матрицу — результат применения фильтра.

Свёрточная нейронная сеть (CNN). K210_040

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

Свёрточная нейронная сеть (CNN). K210_041

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


Параметры свёрточного слоя.


  • Число признаков (filters count, fc) – это количество фильтров, которые есть в слое.

  • Размер фильтров (filter size, fs) – это высота и ширина тензора фильтров. Обычно является нечётным числом, наиболее часто используются фильтры размером 3 или 5.

  • Шаг свёртки (stride, S) – это количество пикселей, на которое перемещается матрица фильтра по входному изображению. Когда шаг равен 1, фильтры перемещаются по одному пикселю за раз. Когда шаг равен 2, тогда фильтры перескакивают на 2 пикселя за раз. Чем больше шаг, тем меньшего размера карты признаков получаются на выходе.

  • Дополнения нулями (padding, P) – количество пикселей, которые добавляются с каждого края изображения. Это позволяет избежать уменьшения изображения на размер фильтра, поскольку фильтр может накладываться лишь в тех местах, в которых под каждым значением фильтра будет значение входного изображения.

Таким образом, входными параметрами свёрточного слоя являются:

  • тензор размером W1 x H1 x D1;

  • 4 гиперпараметра: fc, fs, S, P;

А выходным параметром слоя является тензор размером W2 x H2 x D2,
где:
W2 = (W1 - fs + 2P) / S + 1,
H2 = (H1 – fs + 2P) / S + 1,
D2 = fc.

Подробнее про арифметику свёрточного слоя и применение параметров padding и stride, лучше поговорить отдельно, позже.


Слой активации.

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

Свёрточная нейронная сеть (CNN). K210_042

Скалярный результат каждой свёртки попадает на функцию активации, которая представляет собой некую нелинейную функцию. Слой активации обычно логически объединяют со слоем свёртки (считают, что функция активации встроена в слой свёртки). Функция нелинейности может быть любой по выбору исследователя, традиционно для этого использовали функции типа гиперболического тангенса или сигмоиды. Однако в 2000-х годах была предложена и исследована новая функция активации — ReLU (rectified linear unit), которая позволила существенно ускорить процесс обучения и одновременно упростить вычисления (за счёт простоты самой функции), что означает блок линейной ректификации, вычисляющий функцию f(x) = max(0,x). То есть по сути это операция отсечения отрицательной части скалярной величины. По состоянию на 2017 год эта функция и её модификации (Noisy ReLU, Leaky ReLU и другие) являются наиболее часто используемыми функциями активации в глубоких нейросетях, в частности, в свёрточных. Существует методика определения оптимального числа блоков линейной ректификации.


Обучаемые параметры в свёрточном слое.

В свёрточном слое обучаются только фильтры и веса смещения, а потому общее число обучаемых параметров равно fc·(fs·fs·fd+1), то есть число элементов каждого фильтра плюс один параметр смещения умножается на количество самих фильтров. Благодаря тому, что фильтр, который проходит по изображению, не изменяется во время самого прохождения, получается, что число обучаемых параметров во много раз меньше, чем у полносвязной сети.


Пулинг или слой субдискретизации (слой подвыборки).

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

Свёрточная нейронная сеть (CNN). K210_043

Свёрточная нейронная сеть (CNN). K210_044

Свёрточная нейронная сеть (CNN). K210_045

Свёрточная нейронная сеть (CNN). K210_046

Слой пулинга (иначе подвыборки, субдискретизации) представляет собой нелинейное уплотнение карты признаков, при этом группа пикселей (обычно размера 2×2) уплотняется до одного пикселя, проходя нелинейное преобразование. Наиболее употребительна при этом функция максимума. Преобразования затрагивают не пересекающиеся прямоугольники или квадраты, каждый из которых ужимается в один пиксель, при этом выбирается пиксель, имеющий максимальное значение. Операция пулинга позволяет существенно уменьшить пространственный объём изображения. Пулинг интерпретируется так: если на предыдущей операции свёртки уже были выявлены некоторые признаки, то для дальнейшей обработки настолько подробное изображение уже не нужно, и оно уплотняется до менее подробного. К тому же фильтрация уже ненужных деталей помогает не переобучаться. Слой пулинга, как правило, вставляется после слоя свёртки перед слоем следующей свёртки.

Свёрточная нейронная сеть (CNN). K210_047
Пулинг с функцией максимума и фильтром 2×2 с шагом 2.

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

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


Полносвязный слой (полносвязная нейронная сеть).

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

Свёрточная нейронная сеть (CNN). K210_048

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

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


Обучение.

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

Но существует также ряд техник обучения свёрточной сети без учителя. Например, фильтры операции свёртки можно обучить отдельно и автономно, подавая на них вырезанные случайным образом кусочки исходных изображений обучающей выборки и применяя для них любой известный алгоритм обучения без учителя (например, автоассоциатор или даже метод k-средних) — такая техника известна под названием patch-based training. Соответственно, следующий слой свёртки сети будет обучаться на кусочках от уже обученного первого слоя сети. Также можно скомбинировать свёрточную нейросеть с другими технологиями глубинного обучения. Например, сделать свёрточный авто-ассоциатор, свёрточную версию каскадных ограниченных машин Больцмана, обучающихся за счёт вероятностного математического аппарата, свёрточную версию разреженного кодирования (sparse coding), названную deconvolutional networks («развертывающими» сетями).

Для улучшения работы сети, повышения её устойчивости и предотвращения переобучения применяется также исключение(дропаут)— метод тренировки подсети с выбрасыванием случайных одиночных нейронов.


Построение сети.

Имея в наборе готовые строительные блоки, можно собирать различные нейронные сети. Для классификации изображений чаще всего используется следующая последовательность блоков:
[[CONV-RELU]хn-MAXPOOL]хm-FC.
Так, например, чтобы достичь точности около 99.5% для распознавания изображений цифр, можно использовать вот такую сеть:
CONV16C3-RELU-CONV16C3-RELU-MAXPOOL-CONV32C3-RELU-CONV32C3-RELU-MAXPOOL-FC128-FC10.
Запись CONV16C3 означает, что в свёрточном слое используется 16 фильтров размером 3х3, с нулевым дополнением (P=0) и единичным шагом (S=1), а запись FC128 означает, что используется полносвязный слой из 128 нейронов. Ещё одним примером известной архитектуры свёрточных сетей является сеть VGG19: она содержит 24 слоя, среди которых 16 свёрточных и 3 полносвязных слоя.

Свёрточная нейронная сеть (CNN). K210_049

Всё самое главное:

Свёрточная нейронная сеть (CNN). K210_050


Преимущества.


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

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

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

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

  • Обучение при помощи классического метода обратного распространения ошибки.


Недостатки.

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


Источник: Интернет.





.


Последний раз редактировалось: Viktor2312 (Пн Ноя 30 2020, 00:31), всего редактировалось 11 раз(а)

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Свёрточная нейронная сеть (CNN). Empty Re: Свёрточная нейронная сеть (CNN).

Сообщение  ведущий_специалист в Вс Ноя 29 2020, 19:19

2
Что самое интересное , то что на к210 это можно опробовать в реалии. Настоящий нейромодуль за 800р. Осваивайте си и можно делать свою алису или машинку робота, которая будет делать сама себе маршруты в зависимости от разного рода условий.
ведущий_специалист
ведущий_специалист
Мастер

Сообщения : 201
Дата регистрации : 2020-10-16
Откуда : Санкт Петербург

Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения