GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.4 (5)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Сверточная нейронная сеть Михайло
Михайло
Сообщений: 2366
На: Сверточная нейронная сеть Михайло
Добавлено: 10 дек 18 11:36
Изменено: 10 дек 18 11:40
http://neuropro.ru/memo312.shtml

У вас там написано, что на вычисление экспоненты для тангенсоиды уходит до половины времени в сети размером 5-25-50-10. Извините, но у вас заблуждение: так как экспонента в такой сети вычисляется всего 10 раз на символ, независимо от того, прямое вычисление или прямое вычисление + обратное распространение.
Экспонента медленнее умножения примерно в 10 раз (по всей видимости ряд Тейлора экспоненты включает порядка 10 членов).
А умножений там даже в одном сверточном слое по 10000 минимум, например, для первого сверточного слоя 5х24х24х5х5 = 72000 умножений только в одном прямом вычислении. Если я правильно понял вашу архитектуру. Да и вообще какая разница, какая там архитектура - везде умножений гораздо больше экспонент.

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

600 млн. экспонент вычисляются за 10 секунд. Чего тут оптимизировать-то?
[Ответ][Цитата]
mss
Сообщений: 2659
На: Сверточная нейронная сеть Михайло
+1
Добавлено: 17 дек 18 16:11
Изменено: 17 дек 18 16:11
Михайло, а вам не кажется что методика свёртывания какая то лукавая?

Все свёрнутые участки опять же выстраиваются в одну линию опять же с потерей топологии изображения.

И ещё.

А вы не пробовали забинарить входные изображения так, что бы все эти полутона от 1 до ХХ свести к единице? Как бы почестнаку.
[Ответ][Цитата]
Victor G. Tsaregorodtsev
Сообщений: 3187
На: Сверточная нейронная сеть Михайло
Добавлено: 18 дек 18 8:32
Цитата:
Автор: Михайло
У вас там написано, что на вычисление экспоненты для тангенсоиды уходит до половины времени в сети размером 5-25-50-10. Извините, но у вас заблуждение: так как экспонента в такой сети вычисляется всего 10 раз на символ

Миш, ты хочешь рассказать мне о существовавшей в начеле 2009г моде на использование РеЛУшек в свёрточных нейросетках, да?
В общем, tanh'и там стояли у всех нейронов - а не только у выходных, как ты подумал.

Цитата:
Автор: Михайло
А умножений там даже в одном сверточном слое по 10000 минимум, например, для первого сверточного слоя 5х24х24х5х5 = 72000 умножений только в одном прямом вычислении. Если я правильно понял вашу архитектуру.

Неправильно. И не надо глядеть на общее число чего-то - надо на соотношения глядеть.
Там при одной вх.карте - у свёрточного нейрона в первом св.слое всего 25 весов (при рецептивном окне 5*5), т.е. будет 25 умножений на каждое последующее вычисление tanh. На втором св.слое - 5*25=125 умножений на каждое последующее вычисление tanh.
И надо учесть, что процессорная операция деления (в tanh'e) - она по времени как несколько операций умножения (т.е. тормознее их). И вызов любой функции - это как минимум 2 процессорные команды (call+ret) накладных расходов.
[Ответ][Цитата]
Михайло
Сообщений: 2366
На: Сверточная нейронная сеть Михайло
Добавлено: 19 дек 18 11:17
Цитата:
Автор: Victor G. Tsaregorodtsev

Миш, ты хочешь рассказать мне о существовавшей в начеле 2009г моде на использование РеЛУшек в свёрточных нейросетках, да?

Ааа. Точно! Надо сделать апдейт статьи, добавить пометку. А то каждый может спутать.

P.s. Деление-то при вычислении в FPU почти равнозначно умножению.
[Ответ][Цитата]
Михайло
Сообщений: 2366
На: Сверточная нейронная сеть Михайло
Добавлено: 19 дек 18 11:26
Изменено: 19 дек 18 11:28
Цитата:
Автор: mss

Михайло, а вам не кажется что методика свёртывания какая то лукавая?

Все свёрнутые участки опять же выстраиваются в одну линию опять же с потерей топологии изображения.

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

Цитата:
Автор: mss

А вы не пробовали забинарить входные изображения так, что бы все эти полутона от 1 до ХХ свести к единице? Как бы почестнаку.

В смысле "по чесноку"? Что не так?
[Ответ][Цитата]
mss
Сообщений: 2659
На: Сверточная нейронная сеть Михайло
Добавлено: 19 дек 18 12:24
Изменено: 19 дек 18 17:34
Я заметил что сетки работают лучше если данные разнообразнее. Т.е. чем больше разница на входе тем чётче классификация на выходе. Наверно из за этого полиномиальные веса дают лучше результат чем линейные - они увеличивают разницу. А? Царегородцев?

Ну от по чеснаку это когда сетке на вход подают только 0 и 1. Таким образом можно оценить 2дшные способности сетки честнее.

Скажем так. Полиномиальные сумматоры сравняются с линейными иии вот така им цена в случае 0,1.

На счёт же двумеризации свёрточных сетей - а вот попробуйте вместо квадрата 5×5 использовать короткие отрезки длинною в 5 пикселей разбросанных хаотично по двумерной плоскости входа. Ну вообще хаотично и с пересечениями и под разными углами.

Может кто и пробовал. Я не в курсе.
[Ответ][Цитата]
Михайло
Сообщений: 2366
На: Сверточная нейронная сеть Михайло
Добавлено: 19 дек 18 18:53
Изменено: 19 дек 18 18:55
Цитата:
Автор: mss

Я заметил что сетки работают лучше если данные разнообразнее.

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

Люди ещё сильнее застревают в локальных экстремумах, так как никаких целеннаправленных перемешиваний (шаффлингов) и встряхиваний (дропаутов и дропконнектов) природа не предусмотрела, только если искусственно: предметы уроков в школе перемежаются, например... Надеюсь вам примеры локальных экстремумов у людей не нужно приводить, взрослый уже, понимаете...
[Ответ][Цитата]
Михайло
Сообщений: 2366
На: Сверточная нейронная сеть Михайло
Добавлено: 19 дек 18 19:06
Изменено: 19 дек 18 19:09
Цитата:
Автор: mss

На счёт же двумеризации свёрточных сетей - а вот попробуйте вместо квадрата 5×5 использовать короткие отрезки длинною в 5 пикселей разбросанных хаотично по двумерной плоскости входа. Ну вообще хаотично и с пересечениями и под разными углами.

Может кто и пробовал. Я не в курсе.

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

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

Вообще у сверточных сетей я вижу лишь одну проблему - они уделяют одинаковое внимание (процессорное время) каждому пикселю изображения, хотя допустим на краю может быть они не особо важны (но бывает и наоборот).
[Ответ][Цитата]
mss
Сообщений: 2659
На: Сверточная нейронная сеть Михайло
Добавлено: 20 дек 18 8:17
На нет и суда нет. Прийдётся самому проверять. В свободное время. По ночам...

Обязательно задам эту 15-и минутную задачку на следующем интервью на предмет оценки алгоритмических способностей программиста:

Как рассчитать массив координат отрезка длинною в 5 клеток в поле 28х28 так, что бы он распологался в случайном месте и имел случайное направление раз; в 3 шага два; и при том не использовать ни синусов ни косинусов ни вращений, но только операции инкремента, декремента и рандомную функцию три.
[Ответ][Цитата]
Михайло
Сообщений: 2366
На: Сверточная нейронная сеть Михайло
Добавлено: 20 дек 18 9:50
5 клеток - это не вариант, надо n клеток на доске m x m. Повысьте уровень интервью.
[Ответ][Цитата]
mss
Сообщений: 2659
На: Сверточная нейронная сеть Михайло
Добавлено: 20 дек 18 10:02
Так шагов останется столько же - 3!
[Ответ][Цитата]
mss
Сообщений: 2659
На: Сверточная нейронная сеть Михайло
Добавлено: 24 дек 18 8:49
Цитата:
Автор: mss
Хреновая имплиментация.

Работает медленно. И не дотягивает до Царегородцевских/Михайловских 98% - токма 77% (15 мин обучения). При прочих почти равных.

СНСа нету.

И вообще ничего нету кроме стандартного MLP.

Цитата:
Автор: Данила Зайцев
О чем речь, конкретезируйте плиз. Могу предположить что MLP и MNIST, тогда 77% совсем хреновенько, даже для одной эпохи. Почти 98% можно получить и без свёрток градиентным бустингом, без предобработки дынных.


Речь идет о FANN имплементации NN.
И о MNIST данных - всё так Данила. На чём гоняли? Не на джаве случайненько?

Михайло. Мы тут наследим в тему?

Кстати. Не желаете ли заопенсоурсить ваши труды? Канет ведь в лету. Как у Царегородцева. Сгниёт на старом пне. Вы ведь не обременены никакими подписками или контрактами?

А так - как мин реклама и увековечивание в инете при жизни!

Я бы мог прикрутить Java интерфейс к вашей DLLке.

И не надо мне шить дело и тд. Ну хреново Steffen Nissen сделал хреново. И то народ попользовал.

Хотя с другой стороны - нафиг эти сетки нужны? Их ещё правильно прикрутить надо. А тут швах полный - перепостиваю с другой ветки.

[Ответ][Цитата]
mss
Сообщений: 2659
На: Сверточная нейронная сеть Михайло
Добавлено: 25 дек 18 9:02
Михайло. А это часом не для Вас?

Вы миллионов не теряли?

[Ответ][Цитата]
Михайло
Сообщений: 2366
На: Сверточная нейронная сеть Михайло
Добавлено: 25 дек 18 9:47
Изменено: 25 дек 18 9:56
Нее, у меня тут есть, кто может заинтересоваться разработкой распознавания звуков и лиц. Но для этого надо продолжать писать код, гонять датасеты...

При этом у меня больше спортивный интерес, саморазвитие и все такое, чем миллионы. ))
[Ответ][Цитата]
mss
Сообщений: 2659
На: Сверточная нейронная сеть Михайло
Добавлено: 25 дек 18 19:10
На нет и суда нет.

Вспомнилось от остроумов - опыт это то что мы получаем вместо денег.
[Ответ][Цитата]
 Стр.4 (5)1  2  3  [4]  5<< < Пред. | След. > >>