2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Повышение точности нейросети путём изменения архитектуры.
Сообщение02.01.2020, 15:10 


23/03/14
59
Добрый день,

давно читал, как люди повышают точность нейросетей, используя разные архитектуры.
Какой прирост угадывания даёт изменение архитектуры на более удачную?
Предполагается, что в каждой архитектуре достаточно нейронов и 3-4 слоя.
Предположим, что есть всего 2 класса и стоит задача правильно распределить объекты по ним.
Я понимаю, что ответ зависит от многих параметров, в том числе от самой задачи, поэтому хотелось бы узнать хотя бы примерные средние оценки.

Повысится ли результат, если:
нейросеть правильно определяет класс в 50% случаев ( то есть, вообще безрезультатна )
нейросеть правильно определяет класс в 99% случаев ( то есть, почти всегда )
нейросеть правильно определяет класс в 65-80% случаев

 Профиль  
                  
 
 Re: Повышение точности нейросети путём изменения архитектуры.
Сообщение02.01.2020, 18:55 
Заслуженный участник
Аватара пользователя


16/07/14
9188
Цюрих
Что понимается под "архитектурой", если число нейронов и слоев фиксировано? Функции активации? Замена feed forward на сверточную или рекуррентную? (в них число слоев сравнивать вообще бессмысленно)
Примерные средние результаты: как правило если исходная точность была в диапазоне $[0; 1]$, то новая точность будет в диапазоне $[0; 1]$. Почти всегда новая точность будет в диапазоне $[p; 1]$, где $p$ - доля более частотного класса (но тут уже можно подобрать контрпримеры). Более точную оценку по всем задачам дать нельзя.

 Профиль  
                  
 
 Re: Повышение точности нейросети путём изменения архитектуры.
Сообщение02.01.2020, 20:09 


07/10/15

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

 Профиль  
                  
 
 Re: Повышение точности нейросети путём изменения архитектуры.
Сообщение02.01.2020, 21:49 


23/03/14
59
mihaild в сообщении #1433128 писал(а):
Что понимается под "архитектурой", если число нейронов и слоев фиксировано? Функции активации? Замена feed forward на сверточную или рекуррентную?

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


mihaild в сообщении #1433128 писал(а):
Примерные средние результаты: как правило если исходная точность была в диапазоне $[0; 1]$, то новая точность будет в диапазоне $[0; 1]$. Почти всегда новая точность будет в диапазоне $[p; 1]$, где $p$ - доля более частотного класса (но тут уже можно подобрать контрпримеры). Более точную оценку по всем задачам дать нельзя.

Вы как-то обобщённо написали про результаты.
Допустим, нейросеть с 3-4 слоями правильно угадывала 90% случаев принадлежности к первому классу и столько же ко второму.
Как сильно изменится результат, если заменить нейросеть на свёрточную или какую-либо ещё с той архитектурой, которую вы сочтёте подходящей?
Понимаю, что зависит от задачи, но всё же хотелось бы узнать примерное улучшение, если оно вообще должно быть.

-- 02.01.2020, 21:52 --

Andrey_Kireew в сообщении #1433135 писал(а):
Практически - неизвестно, как эту структуру синтезировать за обозримое время.

Этот вопрос я хотел задать позже.

Andrey_Kireew в сообщении #1433135 писал(а):
В теории, за счёт использования некой оптимальной нестандартной структуры, можно получить более адекватную, и более качественную модель.

Сколько примерно процентов качества она добавит?

Andrey_Kireew в сообщении #1433135 писал(а):
Поэтому, всё, на что приходится рассчитывать - это выбор из сравнительно небольшого числа стандартных структур, которые всем давно известны.

А что за струтуры и где про них прочесть?

 Профиль  
                  
 
 Re: Повышение точности нейросети путём изменения архитектуры.
Сообщение02.01.2020, 23:35 


07/10/15

2400
vladimir-2013 в сообщении #1433152 писал(а):
Сколько примерно процентов качества она добавит?


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

И второе - Вы напрасно возлагаете такие большие надежды только лишь на структуру сети. Результат во многом зависит от применяемого алгоритма обучения. К одной и той же структуре можно применить разные алгоритмы и получить разные результаты.

 Профиль  
                  
 
 Re: Повышение точности нейросети путём изменения архитектуры.
Сообщение02.01.2020, 23:41 
Заслуженный участник
Аватара пользователя


16/07/14
9188
Цюрих
vladimir-2013 в сообщении #1433152 писал(а):
Допустим, нейросеть с 3-4 слоями правильно угадывала 90% случаев принадлежности к первому классу и столько же ко второму.
Как сильно изменится результат, если заменить нейросеть на свёрточную или какую-либо ещё с той архитектурой, которую вы сочтёте подходящей?
Понимаю, что зависит от задачи, но всё же хотелось бы узнать примерное улучшение, если оно вообще должно быть.
Допустим что человек с ноутбуком выполняет какую-то работу за час. Как сильно изменится время, если заменить ноутбук лопатой? Понимаю, что зависит от задачи, но всё же хотелось бы узнать примерное улучшение, если оно вообще должно быть.
(не забудьте, что ответ должен универсально подходить и для задачи "выкопать яму" и для задачи "найти миллионное простое число")

Очевидно, что при ваших вводных заменяя архитектуру на "подходящую" точно можно получить точность не меньше 90% (просто ничего не меняя) и нельзя получить точность выше 100% (так вообще не бывает). Для любого промежуточного значения я могу подобрать выборку и архитектуру, его обеспечивающую.

 Профиль  
                  
 
 Re: Повышение точности нейросети путём изменения архитектуры.
Сообщение02.01.2020, 23:42 


23/03/14
59
Andrey_Kireew в сообщении #1433166 писал(а):

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

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


Andrey_Kireew в сообщении #1433166 писал(а):

И второе - Вы напрасно возлагаете такие большие надежды только лишь на структуру сети. Результат во многом зависит от применяемого алгоритма обучения. К одной и той же структуре можно применить разные алгоритмы и получить разные результаты.

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

-- 02.01.2020, 23:45 --

mihaild в сообщении #1433167 писал(а):
Очевидно, что при ваших вводных заменяя архитектуру на "подходящую" точно можно получить точность не меньше 90% (просто ничего не меняя) и нельзя получить точность выше 100% (так вообще не бывает). Для любого промежуточного значения я могу подобрать выборку и архитектуру, его обеспечивающую.

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

 Профиль  
                  
 
 Re: Повышение точности нейросети путём изменения архитектуры.
Сообщение02.01.2020, 23:57 
Заслуженный участник
Аватара пользователя


16/07/14
9188
Цюрих
vladimir-2013 в сообщении #1433168 писал(а):
Я ожидал в ответах узнать числа ( показатели ) от людей, которые они получали в своих задачах.
Это средняя температура по больнице - абсолютно бесполезная характеристика.
И нет, это не флуд, это объяснение, почему ваш вопрос не имеет смысла.

 Профиль  
                  
 
 Re: Повышение точности нейросети путём изменения архитектуры.
Сообщение03.01.2020, 00:33 


07/10/15

2400
vladimir-2013 в сообщении #1433168 писал(а):
Под улучшенным качаством я понимаю увеличенный процент правильно угаданных классов

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

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

В одном случае (Se+Sp)/2 может доходить до 180, а в другом - всего до 120. Но это совсем не значит, что первая модель хорошая, а вторая - плохая. Вполне возможно, что совсем наоборот, просто в первом случае закономерность ярко выраженная, а во втором - слабая.

Если Вам так интересно, могу привести конкретный пример. Замена линейного классификатора двухслойной нейросетью дала прирост (Se+Sp)/2 с 58% до 63%. Советую посмотреть в сети разные соревнования по машинному обучению, а лучше и поучаствовать в них. Там увидите и реальные цифры и как это всё происходит. Может и желание продолжать сразу отпадёт.

vladimir-2013 в сообщении #1433168 писал(а):
насколько сильно удачно подобранный алгоритм обучения улучшит качество

Хороший вопрос. Роль алгоритма является решающей.

 Профиль  
                  
 
 Re: Повышение точности нейросети путём изменения архитектуры.
Сообщение03.01.2020, 00:53 
Заслуженный участник
Аватара пользователя


16/07/14
9188
Цюрих
Andrey_Kireew в сообщении #1433172 писал(а):
Роль алгоритма является решающей.
Тут на самом деле всё связано: иногда более удачную архитектуру и учить проще, а иногда SotA результат получается какой-то хитрой архитектурой, с обучением которой возни гораздо больше, чем со стандартными. И бывают случаи (первое приходящее в голову - skip connections), когда архитектура подбирается в том числе для упрощения обучения.

 Профиль  
                  
 
 Re: Повышение точности нейросети путём изменения архитектуры.
Сообщение03.01.2020, 01:02 


07/10/15

2400
Всё верно. Более того, архитектура очень часто предопределяется алгоритм обучения.

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

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group