Этого треда уже нет.
Это копия, сохраненная 13 июня 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
НЕЙРОНОЧКИ И МАШОБ ТРЕД №14(не точно) /ai/ 1373612 В конец треда | Веб
неОчередной тред про хипстерские технологии, которые не работают.

Я ничего не понимаю, что делать? Либо в тупую import slesarplow as sp по туториалам, либо идти изучать математику курсы MIT тебе в помощь. Не нужно засирать тред вопросами типа "что такое сигма?".
Какая математика используется? В основном линейная алгебра, теорвер и матстат, базовый матан calculus многих переменных.
Что почитать для вкатывания? http://www.deeplearningbook.org/ | Николенко и др. "Глубокое обучение" На русском, есть примеры, но уже охват материала
В чем практиковаться нубу? http://www.deeplearning.net/tutorial/ | https://www.hackerrank.com/domains/ai | https://github.com/pytorch/examples
Где набрать первый самостоятельный опыт? https://www.kaggle.com/ | http://mltrainings.ru/
Где работать? https://www.indeed.com/q-deep-learning-jobs.html
Где узнать последние новости? https://www.reddit.com/r/MachineLearning/ | http://www.datatau.com/ На реддите также есть хороший ФЭК для вкатывающихся
Где посмотреть последние статьи? http://www.arxiv-sanity.com/
Где ещё можно поговорить про анализ данных? http://ods.ai/
Нужно ли покупать видеокарту/дорогой пека? Если хочешь просто пощупать нейроночки или сделать курсовую, то можно обойтись облаком. Иначе выгоднее вложиться в 1080Ti или Titan X.

Список дедовских книг для серьёзных людей:
Trevor Hastie et al. "The Elements of Statistical Learning"
Vladimir N. Vapnik "The Nature of Statistical Learning Theory"
Christopher M. Bishop "Pattern Recognition and Machine Learning"
Взять можно тут: http://libgen.io/

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

Предыдущий:
https://2ch.hk/pr/arch/2019-03-14/res/1315967.html (М)

Архивач:
http://arhivach.tk/thread/412868/
Остальные в предыдущих тредах

Там же можно найти треды 2016-2018 гг. по поиску "machine learning" и "НЕЙРОНОЧКИ & МАШОБЧИК"
2 1373614
>>373612 (OP)
Первый нах.
3 1373616
Что вы думаете про курсы для вката а-ля курсов Стэнфорда на coursea?
Лучше ли книг?
Есть ли смысл искать курсы универов а-ля Гарварда/mit и попробовать вкатиться через них?
btw посоветуйте годноту, через которую лучше всего вкатываться.
4 1373618
5 1373619
мне тоже интересно
я сейчас прохожу вот этот https://www.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187 халявный курс, в описании наобещали всякого (я особенно на то что расскажут про тензорфлоу лайт и тензорфлоу джс купился), по факту выдали четыре первых урока и обещают следующую партию к середине апреля, я не только и не столько машиноб учу, так что я не парюсь особо, но жирная лошадь с визгливым голосом которая вообще не понять зачем нужна т.к. кодинг она не преподает и инцель вместо препода бесят
6 1373622
Котоны, почему инфа которая есть по соревновательному машобу в свободном доступе такая туфта. Я пересмотрел видяхи с тренировок МЛ, посмотрел курс по Каглу от топ-гусей, все топовые кернелы и дискуссии и ничего нового не вынес. Может пару скриптов себе забрал. Те кто осознано выигрывают не особо делятся знаниями, максимум в общих словах, остальные это мимокрокодилы, которые решили брутофорсом или шэйкап помог оказаться в топах.
7 1373624
кстати можно оч. глупый вопрос?
а вообще реально сделать сетку которая будет например генерировать музыку или картинки (да хоть тот же фурри порн) на заданную тему, которые потом можно продать типа их человек рисует. короче заставить сетку фрилансить на себя
понятно что это сложно но вот насколько сложно
9 1373629
>>373627
угу, с картинками наверное слишком сложно но вот с музыкой... хммм
10 1373630
>>373622

>Те кто осознано выигрывают не особо делятся знаниям


Лол, рабочие вещи тебе никто и не расскажет, то что сливают или не работает или пиздят
11 1373634
>>373619
>>373622
>>373624
>>373627
>>373629
Пиздец вы дегенераты, конечно.
12 1373639
А
13 1373647
>>373630
Да меня бесит эта дружественная атмосфера на каггле, когда чел толкает откровенную хуйню в кернелах или дискуссиях, или тысячный раз форкает топовый паблик кернел, тем самым засоряя инфопространство, то его умудряются еще апвоутить и писать в стиле датс авсом, грейт ворк и тд. В любом бы нормальном сообществе его бы обоссали и выгнали на мороз.

Есть что-нибудь интересное почитать по ДС или машобу? Дедовские книги прочитаны уже
14 1373697
>>373647

>почитать по ДС или машобу?


Нет ибо быдлу не положено, жри говно с каггла
15 1373711
изображение.png340 Кб, 500x229
16 1373714
17 1373722
>>373622

>Те кто осознано выигрывают не особо делятся знаниями


Потому что их нет. Им везет.
Соревновательный машоб это та еще хуита.
18 1373741
>>373622
Дурачёк думает, что ему сейчас просто так расскажут и покажут, как выиграть на Каггле. Действительно, там ведь одни альтруисты сидят.
19 1373796
Я землетрясения на кагле копаю. Есть тут еще мамины сейсмологи?
20 1373883
>>373647

>Дедовские книги прочитаны уже


Если ты реально их осил и сделал хотя бы часть упражнений, то ты нереально пиздатый чел. Че ты тут делаешь? Иди работу ищи.
21 1373992
Аноны, есть три библиотеки: FANN, DLib и Caffe. На какую себя посадить, а какие нахуй послать?
22 1374067
>>373992
caffe 2
24 1374217
Китайцы вскрывают нейронки "Теслы" и наебывают их
habr.com/ru/news/t/446374/
980x.png115 Кб, 298x337
25 1374335
не взяли в яндекс
26 1374341
Почему в керас так хуёво задокументирован? В доках тензорфлоу больше информации о том, что он может, чем в их официальной документации. Я только вчера узнал, что у них, оказывается, препроцессеры есть у готовых моделей.
27 1374422
>>374217
Волга впадает в Каспийское море, да.
28 1374524
Что делать когда понял что слишком тупой для мл?
29 1374529
>>374524
Стать умнее, или не лезть в мл.
30 1374531
>>374529

>Стать умнее


А как
31 1374562
Че скажете про https://habr.com/ru/company/yandex/blog/446554/ ?
Буду там импортить slesarplow или тема годная?
32 1374586
>>374562
Будут, без импортов никак не обойдется.
33 1374712
>>374531
Потратить 10к часов на изучение математик, физики, кс или экономики.
34 1374933
>>373883
У меня сурьезный матфак за плечами, поэтому с упражнениями трудностей почти не возникало. Другое дело, что почти все упражнения про сферического коня в вакууме. Главная проблема - применить знания на практике, хотя бы в рамках кагла.

>>373697
Как скажешь, братан.

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

Везде же расхваливали кагл, рассказывали про его крутые кернелы, дискуссии и тп. Что это лучшее место чтобы начать вкатываться в мл/дс вот я и повелся. А на деле миллион ебучих индусов и китайцев постят бегиннер и стартер код, один и тот же примитивный ЕДА от соревнования к соревнованию, а топы угорают над всеми остальными.
35 1374937
>>374933
Кагл хорош следующим: там есть куча датасетов для начинающих, и если ты там на лидерборде не в полной жопе, это уже хорошо для трудоустройства.
Топы зачастую обязаны выложить исходники решения, их полезно читать, если совсем нулевой. Инфы и статей много, часто бывает какой-нибудь state of art проплывет мимо тебя, а там он проскочит.
На этом все.

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

В бизнесе же все не так. Прежде всего потому, что в бизнесе ты всегда можешь доразметить датасет, а точность 97% за неделю или 98% за три месяца - первое лучше. Потому что проще значит лучше. Поэтому кагл относится с бизнесом примерно как олимпиадное программирование соотносится с коммерческим.
36 1375149
https://habr.com/ru/company/sberbank/blog/446660/
Школьники ваш ссаный мл щелкают а вы тут лохи
37 1375167
>>373612 (OP)
В шараге сказали пос таггер написать, а ни в питоне, ни во всяких МЛах не шарю, чё делать.
38 1375168
>>375167
В армию иди и сапоги там защищай.
39 1375172
>>375149
Обезьяну можно научить курить ничего удивительного.
40 1375174
>>375168
Я чё лох что ли в армию идти. Нет, я в этой хуйне разберусь без вариантов.
теорвер/матстат! 41 1375198
Здрасьте. Короче, я второкурсник на прикладной математике и физике, теорвер/матстат у нас на третьем, но есть необходимость изучить его здесь и сейчас (если кратко, устраиваюсь аналитиком в к Олежке, зарплата оч сильно зависит от навыков; теорвер знаю только школьный, разъёбывал олимпиады). Учить полный курс со всеми выкладками для математиков нет сил и времени (да и интеграл лебега мы только-только начали строить).
Посоветуйте книжку по сабжу/курс лекций, чтоб поконкретнее, может, что-нибудь без доказательств, чтоб как у экономистов/дауновБауманов, но желательно поближе к нуждам машоба (а хорошо бы, чтоб вообще вся красота вроде ЕМ-алгоритмов etc, только не на уровне ШАДа, а попроще).
42 1375331
Как изучить мл бесплатно?
43 1375334
>>375331
Просто берёшь и без задней мысли читаешь всякие книжки и лекции по МЛ
44 1375339
у гугла есть халявный крэшкурс кстати
45 1375790

>КОКОК МЛ МЛ ИИ НЕ ЗА ГОРАМИ


>СКОРО ВСЕХ ЗАМЕНЯТ РОБОТЫ


>НЕТ НЕРЕШАЕМЫХ ЗАДАЧ



Слушал я эти кукареки, мысленно радовался за прогресс, но это пока сам не столкнулся с необходимостью применить то о чём все так громко кричат. Оказывается, что в 2к19 нет готовых решений для определения капчи, не гугловской с выбором картинок (хотя для неё есть решение при помощи распознавания звука), а древней, буквенной капчи, при том, что буквы в одном регистре.
Вот вы вместо кукареканья и рисования психоделических картинок, лучше займитесь решением прикладных задач.
46 1375795
>>375790
Мой одногрупник делал распознавание капчи, с помощью нейронок, получилось неплохо. Просто тем, кому это нужно уже это сделали.
47 1375797
>>375795

>Мой одногрупник


Вот и детсадовцы набижали
48 1375995
>>375795
Следуя твоей логике, в свободном доступе так много различных библиотек для работы с запросами потому что они никому не нужны и этого еще никто не делал?
49 1376036
Почему в этом треде одни питухи?
Что-то уровня жс-треда.

Вроде бы обычно правило наблюдается, что чем сложнее область, тем качественнее тред.
А тут очень сложная область и одни долбоебы и почти нет постов по делу.
50 1376039
>>376036
import keras, xgboost, sklearn, numpy as np, pandas as pd, matplotlib.pyplot as plt слишком легко написать, вот и лезут дауны.
51 1376055
>>376036
То ли дело твой пост, так и отдает сложностью области и качеством. Да?
52 1376143
>>376036
Потому что это терд нечеткого петуха. Постить тут что-то по делу невозможно.
Скрываю, кароч, и тебе рекомендую поступить так же.
53 1376153
>>375995
Распозновать текстовую капчу это задача для джуниора ничего сложного в этом нет.
54 1376158
>>375995
Потому тот, кто взломал капчу не заинтересован в том, чтобы кто-то другой это сделал и капчу бы усложнили.
55 1376173
>>376153
Вот только на гитхабе чуть меньше чем нихуя репов с разгадывателем капч или хотя бы примерами реализации.
>>376158
В голос, блять. Про гугл капчу не слышал? А про сервисы которые за 2 доллара в месяц любую капчу разгадывают?
56 1376354
>>376173

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


Даже для одного только сосача штук 10 репов видел.
Дохуя и больше репов, которых никто не видел просто, неизвестных.
57 1376365
>>376173

>В голос, блять. Про гугл капчу не слышал? А про сервисы которые за 2 доллара в месяц любую капчу разгадывают?


И вот с такими мудаками я должен делиться? Пфф.
58 1376377
>>376354

>они есть просто никто не видел



Ясно.

>>376365
Никому твой говнокод не нужен, не беспокойся.
59 1376385
>>376036
машоб это новый джс
60 1376425

> Питон


> Скорость


Это же каким отбитым долбоебом надо быть, чтобы не мочь написать бэкпропагатор на крестах и не знать, как посчитать производные от элементарных функций. Вам для чего библиотеки типа бласа или лапака писали? Самое сложное это Байесовый поиск гиперпараметров, пожалуй.
Пиздец, и эти люди хотят дата сайнс делать. С тензорфлоу. От Гугла. Ноль понимания, дохуя понтов.
61 1376428
>>376425
Нужно быть отбитым долбоебом чтобы в 2к19 сделать выбор Python/C++ в сторону C++ не зная при этом программирования. Для мл нужны математические знания, а не знания программирования, именно поэтому никто не хочет ебаться со строгой типизацией и медленным синтаксисом плюсов, при этом потратив больше времени на обучение.
62 1376429
>>376428

>Для мл нужны математические знания,


> а не знания программирования,


Судя по треду, у местных нет ни того ни другого.

> не знания программирования


Хули вы тогда в pr забыли?

> не знать C++


> работать на медленном Питоне.


Изучение крестов ГОРАЗДО более выгодно в далекой перспективе
63 1376432
>>376429

>Изучение крестов ГОРАЗДО более выгодно в далекой перспективе


В том и дело, что не выгодно, выгодным оно было когда процессоры Pentium 4 были редкостью, а видеокарты признаком зажиточности. Сейчас чуть ли не на телефоне можно нейронку запускать.
64 1376433
>>376432
не чуть ли а прямо на телефоне и можно - tensorflow lite
65 1376439
>>376433

> tensorflow lite


Написанный на С++
66 1376440
>>376439
да си ++ макаки полезны, пишут инструменты для питоно- и джавоскриптогоспод
67 1376443
>>376440

> си ++ макаки


Во-первых, CИ макаке как нехуй делать выучить Питон или Скрипт. Обратное не совсем верно.
Второе. ИТТ собрались долбоебы, которые думают, что могут делать дата сайнс, при этом не могут взять элементарную производную от гиперболического тангенса. Они думают, что выставлять нужно чилсо нейронов в заранее написанной проге делает тебя спецом. Это то же самое, как утверждать, что научившись работать в Excel ты стал спецом , которого возьмут на работу.
В третьих, хули этот тред вообще в программирование делает?
Хотите быстрые деньги - учите ПХП и скрипт. АИ это специфичный, требующий знаний матчасти и технического образования предмет.
68 1376445
>>376443

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


...был
69 1376446
>>376445

>был


> мам, сморти, я скачал прогу и вбил параметры


Нуну.
70 1376473
>>376443

>производную от гиперболического тангенса


Пахевашая матанопетушня, уходи
71 1376482
>>376443

>CИ макаке как нехуй делать выучить Питон или Скрипт. Обратное не совсем верно.


>Обратное не совсем верно.


Только в случае если ты собираешься байтоебить и писать низкоуровневую хуиту типа драйверов.
72 1376559
Прочитал весь тред. За весь (!) тред НИ ОДНОГО вопроса по теме, типа "А что такое перцептрон?" или "Что такое сверточное ядро?".
Одни только кукареки, лол.

Объявляю этот тред самым запомоенным на всем програмаче. Хуже него уже нет.
73 1376561
>>376559
Ответы на эти вопросы можно загуглить за минуту.
74 1376564
>>376561
И как думаешь, их не задают в треде, потому что такие сверхразумы и гуглят сразу, или же тут просто никто ничем не занимается?
75 1376566
>>376559
Ну бля, я вот сейчас пытаюсь вкурить в эту хуйню, но для треда вопросов нет. Нет, я могу конечно по каждой непонятке сюда срать, но никто всё равно ни на что не ответит
76 1376652
>>376564

>в треде нет идиотских вопросов, которые можно нагуглить за секунду


>арррряяяя дебилы собрались!!!

77 1376653
>>376566
Можно обсудить.
Я тоже вкатываюсь. Обмазался бесплатными курсами и прохожу.
78 1376658
>>376473

>Пахевашая матанопетушня, уходи


Они потом еще удивляются, почему градиент в ноль ушел и сеть в насыщении
79 1376664
>>376652
Ок, ответь на неидиотский вопрос - как приготовить данные для тренировки сети?
80 1376688
>>376652
Что будет, если веса у всех нейронов одинаковые?
81 1376712
>>376664
Сгенерировать программно
82 1376737
>>376664
Какая задача, какая сеть, какие данные уже имеются?
>>376688
Какая задача, какая сеть, как такое случилось?
83 1376745
Горю желанием вкатиться уже почти как год, но вместо этого изучаю веб для деняк от которого уже начинает подташнивать.
Вопрос, насколько быстро можно вкатиться, чтоб что-то с этого поднимать?
Матан знаю плохо, но готов это исправить.
84 1376759
>>376737

>Какая задача, какая сеть, как такое случилось?


А ты недалекий, как я посмотрю
85 1376762
>>376712

> Сгенерировать программно


Зачем генерировать программно то, что подлежит регрессионному анализу? Если у тебя уже есть программа, которая на входные данные выдает тебе искомое значение, зачем тебе вообще нейросеть?
По-моему, люди ИТТ вообще не понимают, о чем говорят и пишут.
86 1376772
>>376762

> Если у тебя уже есть программа, которая на входные данные выдает тебе искомое значение, зачем тебе вообще нейросеть?


Есть питоноскрипт, который выдает словари с инфой о входящих данных, по сути парсер, но он медленный.
Переписывать мне его было влом, я просто нагенерировал им данные и скормил averaged perceptron'у, написанному на цитоне, добился 300х ускорения c достаточно хорошим результатом.
87 1376783
>>376762
Мда. Не знал, что тут настолько тупые люди. Где я писал, что у меня программа "на входные данные выдает тебе искомое значение"?
88 1376789
>>376772

>Переписывать мне его было влом


Тут можешь остановиться и сказать, что играешься.
Если хочешь играться - играйся. Но тогда лучше скачать пару MNIST баз и играться на image recognition. Будет точно полезнее, хотя бы потому, что более практично и более применимо к реальным проблемам.
>>376783

>Не знал, что тут настолько тупые люди. Где я писал, что у меня программа


Толку от нейросети мало, если ты генеришь какие-то данные программно. Хочешь распознать паттерн? Так разберись, что у тебя программа генерит и как генерит. Но опять же, для игр подойдет.
89 1376791
>>376789

> что более практично и более применимо к реальным проблемам


Ты понимаешь, что я использовал тот парсер и заменил его? Как ты предлагаешь мне парсить мои данные с помощью image recognition? smh
90 1376816
>>376789

>Хочешь распознать паттерн? Так разберись, что у тебя программа генерит и как генерит.



Это такой троллинг тупостью? Зачем мне самоу разбираться и искать зависимости, если у меня нейросеть для этого есть?
91 1376831
>>376816

>Зачем мне самоу разбираться и искать зависимости, если у меня нейросеть для этого есть?


Да потому что в 99% случаев все эти завимости давно изучены. Оставшийся 1% публикуются в научных журналах. Генерить данные кодом, а потом скармливать это нейросети - Сизифов труд.Для обучения может и Ок, на практике лучше делать то, для чего нейронки изначально писали - распознавать изображения, речь и текст.
>>376791

>Ты понимаешь, что я использовал тот парсер и заменил его?


> заменил


> Переписывать мне его было влом


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

> написал нейронку


Молодец, толку с того? Ты как то это хочешь использовать в приложениях или выложить на гХаб? Первая же критика - какого хуя ты просто парсер не переписал? Было лень? Тогда катись к хуям.
92 1376855
>>376745
Вот анон поинтересовался, а ему даже никто ничего не ответил...
93 1376864
>>376855
Видимо я не в тему, людям тред засрать надо.
94 1376941
>>376831
Я использую ее уже почти год ежедневно и она хорошо справляется со своей задачей. Я в курсе, что не полноценная замена исходного парсера, но это и не требуется.
Я не знаю, что ты ожидаешь услышать от меня. Мог ли я потратить в 10 раз больше усилий если судить по числу строк, переписывая чужой код? Мог, но зачем?
Или ты хочешь услышать, что мне интересен машоб и я хотел поиграться с ним? Ну окей, это тоже.
15520602945900.jpg190 Кб, 640x720
95 1377041
Почему работа нейронки отдалённо напоминает то, что видит разогнанный мозг под лсд?
sage 96 1377047
За весь тред полтора поста хоть сколько-то рилейтед, ни одного непосредственно по сути дела, ни на один вопрос никто не ответил.
Тред можно удалять, машоб нынче не нужен.
97 1377065
>>375790

>Оказывается, что в 2к19 нет готовых решений для определения капчи, не гугловской с выбором картинок (хотя для неё есть решение при помощи распознавания звука), а древней, буквенной капчи, при том, что буквы в одном регистре.


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

>лучше займитесь решением прикладных задач.


Без проблем, сколько платишь?
98 1377066
>>376425
Отбитым долбоёбом нужно быть, чтобы вручную пердолить бэкпропагацию в 2019.
99 1377100
>>377065

>какое-то абстрактное решение которое будет работать с любой капчёй всегда будет проигрывать специализированному на конкретной капче.



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

>Без проблем, сколько платишь?



2 доллара в месяц.
100 1377102
>>377100
за 2 доллара они тебе предоставляют сервис а не саму нейронку
101 1377105
>>376745
За полгода по 8 часов в день можно вкатиться.
102 1377107
>>377102
Это еще круче. Написал пару строк кода и не нужно держать у себя, или где-либо еще, лишние данные.
103 1377113
>>377100
Там биологическая нейронка сидит в виде индуса, довен
104 1377141
>>373612 (OP)
Хочу швирять данные в нейронку и ждать какой-нибудь вывод, без теории и какого-либо серьёзного бекграунда, чисто хуяк-хуяк ради фана, какой фреймворк/стек лучше всего подходит под мои цели?
105 1377155
>>377141
Тенсорфлоу.
106 1377157
>>377113
Только на рекапче, дебилушка.
107 1377159
>>377141
Керас + Тенсорфлоу.
108 1377171
В общем понятно, что нейронки это тупик. Годятся только для задач, где на надёжность наплевать, вроде классификации котиков, для реальных задач надо придумывать что-то другое, для чего можно доказать корректность.
109 1377176
>>377171

>доказать корректность.


Наивное и ненужное говно.
110 1377183
>>377176
Ага, а потом у тебя боинги падать начинают по два в неделю.
изображение.png174 Кб, 400x368
111 1377185
origb7897edac283915e7c37975d924a2d49.jpg410 Кб, 976x1815
112 1377196
>>373612 (OP)

> либо идти изучать математику курсы MIT тебе в помощь


В чем особенность этих курсов?
113 1377202
>>377196
Даже тупого двачера сделают профессором.
114 1377203
>>377202

>сделают профессором.


Тупым, я надеюсь?
115 1377204
>>377183
Антиаргумент. В боингах как раз классическая математика с доказательствами корректности.
116 1377208
>>376664
Разделить на 3 набора, нормализовать.
117 1377221
>>377204

>классическая математика


Какое отношение математика имеет к физике?
118 1377296
>>377171

>доказать корректность


Это же нивазможна, да и нинужна, достаточно показать результат лучше чем у человека.
119 1377327
>>377171

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


Давай "умник" придумай математически корректное описание котиков.
120 1377329
>>377327
Всегда интересовало тень от котика это тоже котик?
122 1377584
>>377577
у меня есть бизнес идея
я могу продавать курсы как делать деньги с тензорфлоу на юдеми
123 1377594
>>377584
Куй железо пока горячо, а то украду твою идею и стану миллиардером.
124 1377657
>>377577
В ценах акций за прошлый период тупо нет информации об их будущих ценах.
Доказали уже практически на научном уровне.
Весь "технический анализ" - по сути полная хуйня.
лягушка gulag.jpg72 Кб, 720x400
125 1377661
Ладно, моему преподу на меня похуй, так что буду задавать свои вопросы здесь:

1. Если нейросеть на основании имеющихся исходных данных не может построить модель, отображающую исходные данные в целевые, доказывает ли это напрямую то, что исходные данные просто не содержат достаточно информации о целевых данных?
2. Для каких задач не подходят сверточные нейронные сети?
3. Сможет ли сверточная нейросеть классифицировать объект на изображении, даже если он не посередине изображения, а где-нибудь в углу?
126 1377925
>>377661
1. Нет. Может, у тебя нейросеть хуёвая. Почём нам знать, как ты её обучал, на каких данных. И вообще, что значит "достаточно информации"?
2. Для тех, где у объектов нет пространственной структуры, т.е. свёртка не нужна. (Нет, конечно, полносвязный слой можно рассматривать как свёртку, но только ради удобства).
3. Может быть. Но, конечно, зависит от того, какого размера объект и что ещё на изображении. Если у тебя посередине здоровенный кот, а сбоку от него - маленькая кружка, то не обессудь.
127 1377935
>>377661

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


Нет.

>Для каких задач не подходят сверточные нейронные сети?


Когда у тебя нет инвариантности по оси. Грубо говоря, кот в левом-верхнем углу и в правом нижнем углу - это кот. Или, например, резкий скачок биржевых данных 5 февралая и 10 октября - это резкий скачок. В первом случае инвариантность идет в пространстве изображения (и применяются 2д свертки), во втором - во времени.
Где не подходит - например, если у тебя в первом измерении площадь квартиры, во втором ее цена и так далее - никакой инвариантности тут нет, каждое измерение определяет разные вещи.

>Сможет ли сверточная нейросеть классифицировать объект на изображении, даже если он не посередине изображения, а где-нибудь в углу


Судя по этому вопросу, зря я распинался в прошлом.
128 1377981
>>377041
может потому нейронная сеть на то и называется нейронной, что как в мозге?
129 1377989
>>377981

>может потому нейронная сеть на то и называется нейронной, что как в мозге?


Нет, она так называется что бы пудрить мозги и получать профит.
130 1378007
>>377041
А можно соус?
b1600834.jpg83 Кб, 870x480
131 1378050
132 1378059
>>377041

>то, что видит разогнанный мозг под лсд?


Ну лалка откуда тебе то знать?
133 1378272
>>378059
Не знаю, откуда ему знать, но скажу по своему опыту: один в один.
134 1378281
>>378272
>>378059
Ваши нейросети - наркоманские
135 1378305
Отлично знаю линал и матан, теорвер знаю на уровне экономфака ВШЭ (их книжечку прочитал). Подойдёт ли книжка "Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow. Концепции, инструменты и техники для создания интеллектуальных систем" как стартовая? И Deep Learning Иошуа Бенджио? Ещё знаю Python и pandas/numpy (читал Уэса Маккинни "Python для анализа данных").
Или вообще что читать-то? На русском (английский хоть и знаю, но слишком тяжело читать много). Видосы не нравятся, вообще этот формат терпеть не могу.
136 1378322
>>377935

>Когда у тебя нет инвариантности по оси. Грубо говоря, кот в левом-верхнем углу и в правом нижнем углу - это кот. Или, например, резкий скачок биржевых данных 5 февралая и 10 октября - это резкий скачок. В первом случае инвариантность идет в пространстве изображения (и применяются 2д свертки), во втором - во времени.


>Где не подходит - например, если у тебя в первом измерении площадь квартиры, во втором ее цена и так далее - никакой инвариантности тут нет, каждое измерение определяет разные вещи.


А, то есть когда каждое измерение независимо, то сверточные сети применять нельзя. Верно?
137 1378323
>>378305
Для старта даже анус пса пойдет. А там дальше разберешься. Нормально делай - нормально будет. Все, давай, на созвоне
138 1378984
Проблематика обучения.

В современных ЭБУ есть значительных проблемы с объемом ОЗУ! Связанно это с историческими факторами и с сложностью создания больших объемов ОЗУ с контролем ошибок на кристалле. А вот в калькуляторах обычно таких проблем нет поскольку ОЗУ там зачастую без контроля и процессоры индустриальные за копейку. Поэтому подходы которые использовались в 80-е и 90-е с созданием значительных массивов накопления данных применять в нормальных ЭБУ нельзя. Например: если в Январе у нас на обучение по ДК по некоему методу, там реализованному, выделено около 520 байт, то в современных ЭБУ реализация подобного метода затребовала бы около 4-х килобайт. Поэтому всю прошлую жизнь регулятора надо запомнить с использованием буквально 10-ка переменных (сотни байт не более). И методы редукции объемов данных конечно есть. Один из таких методов – применение искусственных нейронных сетей.

Искусственные нейронные сети (ИНС).

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

В основе используемых в ЭБУ искусственных нейронных сетей, как и многих других, лежит так называемый “Персептрон Розенблатта”, . предложенный в 1957 году Френком Розенблаттом.

Практическое применение ИНС получили после разработки эффективных методов обучения весов нейронов в скрытых слоях (в основном: метод обратного распространения ошибки) в 80-х годах прошлого века… Я не буду тут особо распылятся на эту тему, поскольку про все это, есть сотни статей, в том числе на русском языке и любой желающий может их “накрячить” (гугл у нас проштрафился и теперь гуглить уже не модно)… Есть хорошие обучающие видео на трубе. Несмотря на то, что я не буду подробно останавливаться тут на ИНС – я надеюсь у читателя все-таки есть представление, как именно они работают и какие проблемы решают-создают… Хотя кое-что все-таки следует написать.

ИНС, которые используются в ЭБУ получают банальным комбинированием нескольких персептронов по следующей схеме:

Собственно слой слева — называется входным слоем. Этот слой как обычно ничего не делает и передает значения на входах следующему. Слой расположенный по середине называется скрытым слоем и состоит из некоторого количества персептронов. Слой справа называется выходным слоем и содержит один персептрон. Это схемы прямого распространения сигнала без обратной связи (т.е. информация в такой сети передается cлева на право и не передается с выхода на вход). Сеть построенная на таких принципах может делать разные крутые вещи. Например универсальная теорема аппроксимации, доказанная в 1989 году Джорджем Цибенко. Гласит:

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

Эта теорему можно перефразировать, и получить то сокровенное знание которое тупые японцы так и не получили при изобретении VTEC (и спасает их лишь то – что VTEC они все же разработали чуть РАНЬШЕ, чем теорема была доказана, и чем все осознали, что случилось и как такую полезность можно применить):

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

Только что, вы прочитали, как вычисляется VE в автомобиле с 2-мя плавными фазовращателями и плавным подъемом клапана на впуске, для любого из возможных соcтояний оборотов-нагрузок-поворотов валов-подъема клапанов — и при этом не используется ни одной таблицы в привычном нам 3Dвиде. Только лишь веса связей нейронной сети. И для того чтоб что то поменять в двигателе — придется перенастроить эти веса. Настраиваются они с помощью специального программного обеспечения написанного на языке matlab при этом все это обычно интегрировано с классическими старыми комплексами настройки.

И если вы не поняли – никогда и никем даже в отдаленной перспективе для такого двигателя не будут выпущены, какие либо “другие” распределительные валы… Пока шиночипы не сломают себе голову в попытке осмыслить, что же именно написано тут всего лишь в паре абзацев текста. Вот вам, то – чего не бывает, в нашей “настройке которой не бывает”! (хотя честно говоря — там даже проблемы на уровне снять-поставить эти валы).

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

ИНС с описанной выше структурой требуют серьезных затрат на обучение, поэтому в ЭБУ применяются только в виде предварительно обученных. Дальше речь пойдет про еще более современную концепцию построения ИНС, которые уже будут обучатся непосредственно в ЭБУ!
138 1378984
Проблематика обучения.

В современных ЭБУ есть значительных проблемы с объемом ОЗУ! Связанно это с историческими факторами и с сложностью создания больших объемов ОЗУ с контролем ошибок на кристалле. А вот в калькуляторах обычно таких проблем нет поскольку ОЗУ там зачастую без контроля и процессоры индустриальные за копейку. Поэтому подходы которые использовались в 80-е и 90-е с созданием значительных массивов накопления данных применять в нормальных ЭБУ нельзя. Например: если в Январе у нас на обучение по ДК по некоему методу, там реализованному, выделено около 520 байт, то в современных ЭБУ реализация подобного метода затребовала бы около 4-х килобайт. Поэтому всю прошлую жизнь регулятора надо запомнить с использованием буквально 10-ка переменных (сотни байт не более). И методы редукции объемов данных конечно есть. Один из таких методов – применение искусственных нейронных сетей.

Искусственные нейронные сети (ИНС).

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

В основе используемых в ЭБУ искусственных нейронных сетей, как и многих других, лежит так называемый “Персептрон Розенблатта”, . предложенный в 1957 году Френком Розенблаттом.

Практическое применение ИНС получили после разработки эффективных методов обучения весов нейронов в скрытых слоях (в основном: метод обратного распространения ошибки) в 80-х годах прошлого века… Я не буду тут особо распылятся на эту тему, поскольку про все это, есть сотни статей, в том числе на русском языке и любой желающий может их “накрячить” (гугл у нас проштрафился и теперь гуглить уже не модно)… Есть хорошие обучающие видео на трубе. Несмотря на то, что я не буду подробно останавливаться тут на ИНС – я надеюсь у читателя все-таки есть представление, как именно они работают и какие проблемы решают-создают… Хотя кое-что все-таки следует написать.

ИНС, которые используются в ЭБУ получают банальным комбинированием нескольких персептронов по следующей схеме:

Собственно слой слева — называется входным слоем. Этот слой как обычно ничего не делает и передает значения на входах следующему. Слой расположенный по середине называется скрытым слоем и состоит из некоторого количества персептронов. Слой справа называется выходным слоем и содержит один персептрон. Это схемы прямого распространения сигнала без обратной связи (т.е. информация в такой сети передается cлева на право и не передается с выхода на вход). Сеть построенная на таких принципах может делать разные крутые вещи. Например универсальная теорема аппроксимации, доказанная в 1989 году Джорджем Цибенко. Гласит:

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

Эта теорему можно перефразировать, и получить то сокровенное знание которое тупые японцы так и не получили при изобретении VTEC (и спасает их лишь то – что VTEC они все же разработали чуть РАНЬШЕ, чем теорема была доказана, и чем все осознали, что случилось и как такую полезность можно применить):

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

Только что, вы прочитали, как вычисляется VE в автомобиле с 2-мя плавными фазовращателями и плавным подъемом клапана на впуске, для любого из возможных соcтояний оборотов-нагрузок-поворотов валов-подъема клапанов — и при этом не используется ни одной таблицы в привычном нам 3Dвиде. Только лишь веса связей нейронной сети. И для того чтоб что то поменять в двигателе — придется перенастроить эти веса. Настраиваются они с помощью специального программного обеспечения написанного на языке matlab при этом все это обычно интегрировано с классическими старыми комплексами настройки.

И если вы не поняли – никогда и никем даже в отдаленной перспективе для такого двигателя не будут выпущены, какие либо “другие” распределительные валы… Пока шиночипы не сломают себе голову в попытке осмыслить, что же именно написано тут всего лишь в паре абзацев текста. Вот вам, то – чего не бывает, в нашей “настройке которой не бывает”! (хотя честно говоря — там даже проблемы на уровне снять-поставить эти валы).

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

ИНС с описанной выше структурой требуют серьезных затрат на обучение, поэтому в ЭБУ применяются только в виде предварительно обученных. Дальше речь пойдет про еще более современную концепцию построения ИНС, которые уже будут обучатся непосредственно в ЭБУ!
139 1378994
>>378984

Нечеткая логика.

Это еще более свежая концепция, объясняющая нам, что мир не черно-белый, а тепло и холодно – это не конкретные численные значения температур, а все факты которые мы знаем – не точны…Концепция введена Лофти Заде в 1965-м году и развита в более поздних работах. На бытовом уровне это можно объяснить как то, что “тепло-ташкент-жарища” – это про что-то одно, а “мороз-дубак-воркута” – про что-то другое, и эти что-то ортогонально друг другу противоположны, но все это нас мало интересует, как и сама нечеткая логика. В этом разделе нас интересует, так называема “функция принадлежности” в виде нормализованного Гауссиана (колокола), которая используется для классификации. Про нее мы и будем писать ниже.

Локальная линейная модель – LLM.

Начнем с простейшей линейной функции, ее формула для одномерного случая известна каждому:

y =”смещение” + x * “наклон”

Теперь посмотрим на картинки.

Слева мы видим некую непрерывную одномерную нелинейную функцию.

Справа — попытку аппроксимации этой функции четырьмя линейными функциями – по сути, совокупностью четырех локальных линейных моделей.
Не очень то похоже, но в реальном мире точность такого представления для использования может быть вполне достаточная – например лаг в мелких бошах как то так задавался. Но, что если не достаточно и надо точнее?!
Предположим, что этот график – единственное, что мы знаем про нашу функцию, как видим в нем 437 пикселей (я померил когда рисовал линии в нем).
Очевидно, что мы можем представить его в виде 437 линейных функций, где каждая линия будет иметь размер всего в 1 пиксель!
При этом “смещение” будет = высоте пикселя по Y оси, а “наклон”=0. Модель такой функции называется – частичной линейной моделью, без градиента и является частным случаем полной линейной модели. Но поскольку “наклон”=0 – x в нашей формуле вырождается. Тогда, как же нам определить координаты нашего пикселя по x?

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

Формулу принадлежности можно взять из fuzzy логики, но мы пока не будем это делать а применим простейший метод, который свяжет нашу координату по x c одной конкретной функцией из 437, и превратит наш набор цифр в совокупность из 437 линейных моделей. В нашем случае, для каждой конкретной из 437 моделей, функция вычисления принадлежности будет возвращать 1.00, если x соответствует номеру функции в пикселях и 0.00 для любого другого значения x. Умножив значение смещения для каждой нашей линейной функции на возвращаемые “веса” из функции принадлежности и просуммировав результаты, мы сможем поставить точку именно там, где надо, и полностью повторить левую картинку.

Предположим, что осей у нас больше – что это меняет?! Да ничего по сути – просто очевидно линейных моделей надо будет несколько больше…

Давайте теперь перефразируем теорему аппроксимации в таком виде: Любая непрерывная функция из множества переменных с любой точностью, может быть аппроксимирована некоторой совокупностью локальных линейных нейро-fuzzy моделей!

Совокупность локальных линейных моделей — LOLIMOT.

Метод идентификации нелинейных систем совокупностью локальных линейных моделей LOLIMOT был предложен Оливером Нильсом в конце 90-х и очень подробно описан в его монографии [1]. Такая совокупность описывается формулой:

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

По сути наша картинка очень похожа на персептрон. Яйцо эквивалентно всему нейрону скрытого слоя. Сама LLM представляет набор весов и смещений нейрона. А функция принадлежности эквивалентна функции активации нейрона. Сумма справа – ничто иное как нейрон выходного слоя лишенный функции активации и с весами =1.
139 1378994
>>378984

Нечеткая логика.

Это еще более свежая концепция, объясняющая нам, что мир не черно-белый, а тепло и холодно – это не конкретные численные значения температур, а все факты которые мы знаем – не точны…Концепция введена Лофти Заде в 1965-м году и развита в более поздних работах. На бытовом уровне это можно объяснить как то, что “тепло-ташкент-жарища” – это про что-то одно, а “мороз-дубак-воркута” – про что-то другое, и эти что-то ортогонально друг другу противоположны, но все это нас мало интересует, как и сама нечеткая логика. В этом разделе нас интересует, так называема “функция принадлежности” в виде нормализованного Гауссиана (колокола), которая используется для классификации. Про нее мы и будем писать ниже.

Локальная линейная модель – LLM.

Начнем с простейшей линейной функции, ее формула для одномерного случая известна каждому:

y =”смещение” + x * “наклон”

Теперь посмотрим на картинки.

Слева мы видим некую непрерывную одномерную нелинейную функцию.

Справа — попытку аппроксимации этой функции четырьмя линейными функциями – по сути, совокупностью четырех локальных линейных моделей.
Не очень то похоже, но в реальном мире точность такого представления для использования может быть вполне достаточная – например лаг в мелких бошах как то так задавался. Но, что если не достаточно и надо точнее?!
Предположим, что этот график – единственное, что мы знаем про нашу функцию, как видим в нем 437 пикселей (я померил когда рисовал линии в нем).
Очевидно, что мы можем представить его в виде 437 линейных функций, где каждая линия будет иметь размер всего в 1 пиксель!
При этом “смещение” будет = высоте пикселя по Y оси, а “наклон”=0. Модель такой функции называется – частичной линейной моделью, без градиента и является частным случаем полной линейной модели. Но поскольку “наклон”=0 – x в нашей формуле вырождается. Тогда, как же нам определить координаты нашего пикселя по x?

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

Формулу принадлежности можно взять из fuzzy логики, но мы пока не будем это делать а применим простейший метод, который свяжет нашу координату по x c одной конкретной функцией из 437, и превратит наш набор цифр в совокупность из 437 линейных моделей. В нашем случае, для каждой конкретной из 437 моделей, функция вычисления принадлежности будет возвращать 1.00, если x соответствует номеру функции в пикселях и 0.00 для любого другого значения x. Умножив значение смещения для каждой нашей линейной функции на возвращаемые “веса” из функции принадлежности и просуммировав результаты, мы сможем поставить точку именно там, где надо, и полностью повторить левую картинку.

Предположим, что осей у нас больше – что это меняет?! Да ничего по сути – просто очевидно линейных моделей надо будет несколько больше…

Давайте теперь перефразируем теорему аппроксимации в таком виде: Любая непрерывная функция из множества переменных с любой точностью, может быть аппроксимирована некоторой совокупностью локальных линейных нейро-fuzzy моделей!

Совокупность локальных линейных моделей — LOLIMOT.

Метод идентификации нелинейных систем совокупностью локальных линейных моделей LOLIMOT был предложен Оливером Нильсом в конце 90-х и очень подробно описан в его монографии [1]. Такая совокупность описывается формулой:

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

По сути наша картинка очень похожа на персептрон. Яйцо эквивалентно всему нейрону скрытого слоя. Сама LLM представляет набор весов и смещений нейрона. А функция принадлежности эквивалентна функции активации нейрона. Сумма справа – ничто иное как нейрон выходного слоя лишенный функции активации и с весами =1.
140 1378995
>>378994

Теперь посмотрите на картинку выше с красной линией, я тоже посмотрю на нее и напишу это:

Для модели 1 вес нейрона смещения = 8.0, а вес нейрона входа 1 = -25.0

Представляете как легко обучается такая ИНС?, если я смог просто посмотреть на картинку и назвать веса. Забудьте про любые проблемы обучения, про горы вычислений с плавающей точкой, про ошибки дифференцирования, которые усиливаются при распространении ошибки во внутренние слои, про то, что у вас может вообще ничего не выйдет из-за сваливания в локальную яму. Эта штука может обучатся, даже внутри самого дешевого микроконтроллера который умеет лишь в знаковый int! Для использования в качестве функции поправки для лямбды (наш частный случай) на начальном этапе обучения все веса просто обнуляются – в итоге функция приходит к нормальному состоянию выхода (=0) т.е. отсутствия какой-то поправки.

Функция принадлежности к модели

Что такое функция принадлежности Я буду объяснять на конкретном примере. Возьмем такой набор значений:

X1=1 Y1=10
X2=2 Y2=5
X3=3 Y3=15

Мы опять же, не знаем какая именно функция представлена этим набором цифр и каково ее поведение в неуказанных тут точках, поэтому для ее представления мы будем использовать тот же самый метод, что раньше и с пикселями на картинке – “частичные линейные модели без гадиента”, поэтому у нас будет 3 модели с экстремумами в известных точках X = 1 2 и 3 для каждой соответственно. Построим Гауссовские функции (колокола) с экстремумами в этих точках и пиком амплитуды = 1:

с – это у нас центры координат соответствующих моделей т.е они принимают значения 1 2 и 3.
сигма – стандартное отклонение параметров модели. (их графический смысл указан синими стрелочками).
Формулу Гауссиана вы видите справа на картинке:

У выбранной функции принадлежности есть проблема – она не учитывает наши знания о пространстве значений выше и ниже крайних, т.е если скажем мы растянем ось X до 100 то диапазон от 5 до 100 окажется у нас никак не охваченным, и для больших X наши функции вернут 0, хотя очевидно, что функция принадлежности должна в любом случае вернуть какое то не нулевое значение хотя бы для одной модели, поэтому нам надо нормализовать то, что мы построили по специальной формуле:

Суть этого действия в том, чтоб для любого участка пространства значений совокупное значение суммы весов принадлежностей оказалось = 1, таким образом в любой точке пространства в любом возможном случае всегда работает какая-то одна (или несколько) моделей из тех что у нас есть при этом их веса распределены между соответствующими моделями так, чтоб в сумме они составили 1.00 (или 100%).

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

Применение Гауссовских функций принадлежности дает нам просто идеальные стыки графика на границах моделей (например X=1.5) где у нас нет никаких априорных знаний о свойствах нашей функции.

Ну и наконец приведем всю формулу нашей частной модели и функции ее принадлежности, хотя она и не сильно отличается, от полной модели рассмотренной ранее:

Именно этот упрощенный метод без градиентов используется при обучении по лямбде, для детонации например, используется уже полный метод с градиентами! Т.к. в случае детонации можно ожидать наличия связи с нагрузкой и оборотами – в случае же лямбды такой связи очевидно нет!
140 1378995
>>378994

Теперь посмотрите на картинку выше с красной линией, я тоже посмотрю на нее и напишу это:

Для модели 1 вес нейрона смещения = 8.0, а вес нейрона входа 1 = -25.0

Представляете как легко обучается такая ИНС?, если я смог просто посмотреть на картинку и назвать веса. Забудьте про любые проблемы обучения, про горы вычислений с плавающей точкой, про ошибки дифференцирования, которые усиливаются при распространении ошибки во внутренние слои, про то, что у вас может вообще ничего не выйдет из-за сваливания в локальную яму. Эта штука может обучатся, даже внутри самого дешевого микроконтроллера который умеет лишь в знаковый int! Для использования в качестве функции поправки для лямбды (наш частный случай) на начальном этапе обучения все веса просто обнуляются – в итоге функция приходит к нормальному состоянию выхода (=0) т.е. отсутствия какой-то поправки.

Функция принадлежности к модели

Что такое функция принадлежности Я буду объяснять на конкретном примере. Возьмем такой набор значений:

X1=1 Y1=10
X2=2 Y2=5
X3=3 Y3=15

Мы опять же, не знаем какая именно функция представлена этим набором цифр и каково ее поведение в неуказанных тут точках, поэтому для ее представления мы будем использовать тот же самый метод, что раньше и с пикселями на картинке – “частичные линейные модели без гадиента”, поэтому у нас будет 3 модели с экстремумами в известных точках X = 1 2 и 3 для каждой соответственно. Построим Гауссовские функции (колокола) с экстремумами в этих точках и пиком амплитуды = 1:

с – это у нас центры координат соответствующих моделей т.е они принимают значения 1 2 и 3.
сигма – стандартное отклонение параметров модели. (их графический смысл указан синими стрелочками).
Формулу Гауссиана вы видите справа на картинке:

У выбранной функции принадлежности есть проблема – она не учитывает наши знания о пространстве значений выше и ниже крайних, т.е если скажем мы растянем ось X до 100 то диапазон от 5 до 100 окажется у нас никак не охваченным, и для больших X наши функции вернут 0, хотя очевидно, что функция принадлежности должна в любом случае вернуть какое то не нулевое значение хотя бы для одной модели, поэтому нам надо нормализовать то, что мы построили по специальной формуле:

Суть этого действия в том, чтоб для любого участка пространства значений совокупное значение суммы весов принадлежностей оказалось = 1, таким образом в любой точке пространства в любом возможном случае всегда работает какая-то одна (или несколько) моделей из тех что у нас есть при этом их веса распределены между соответствующими моделями так, чтоб в сумме они составили 1.00 (или 100%).

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

Применение Гауссовских функций принадлежности дает нам просто идеальные стыки графика на границах моделей (например X=1.5) где у нас нет никаких априорных знаний о свойствах нашей функции.

Ну и наконец приведем всю формулу нашей частной модели и функции ее принадлежности, хотя она и не сильно отличается, от полной модели рассмотренной ранее:

Именно этот упрощенный метод без градиентов используется при обучении по лямбде, для детонации например, используется уже полный метод с градиентами! Т.к. в случае детонации можно ожидать наличия связи с нагрузкой и оборотами – в случае же лямбды такой связи очевидно нет!
изображение.png37 Кб, 912x303
141 1378996
>>378995
Ну и наконец функция обучения весов.

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

Разве что стоит сказать про fak – это ошибка выхода умноженная на скорость обучения (некий желаемый коэффициент меньше 1.00 – обычно принимает довольно маленькое значение около 0.05).

Редукция числа моделей и входов.

Как вы поняли это еще не все преимущества такого подхода, перед классическими ИНС на персептронах. Для работы любой ИНС нам необходимо еще при проектировании жестко задать количество входов, поскольку с этим связанно выделение памяти. В случае с LOLIMOT вы конечно тоже задаете количество входов – но эти входы расположены не просто так, а строго в порядке предполагаемой их важности для процесса обучения регуляторов. И если например в какой-то момент при адаптации вы видите, что вход стоящий последним не оказывает никакого влияния на вашу функцию и не имеет смысла – вы можете его отключить! Тем самым уменьшить количество вычислений и конечно же — уменьшить количество необходимых моделей, а значит ускоряется и процесс обучения и работа процессора ЭБУ в целом. Ведь любые математические штуки, даже самые простые, требуют значительных ресурсов для вычислений – а этих ресурсов может и не быть, либо они могут быть нужны нам для чего-то другого…

Редукция вывода сети.

Это тоже очень важное свойство нашего метода, важное именно для обучения c использованием лямбды. Дело в том, что лямбда может внезапно сдохнуть. Но перед тем, как система управления поймет, что лямбда сдохла – лямбда может усиленно делать вид, что живая, и при этом прилично так врать. С этим связаны очень серьезные проблемы в простых “лоховских” решениях, типа “подключим мы ка лямбду к примитивному ЭБУ напишем в нем примитивный регулятор и все у нас будет хорошо” – на самом деле _хорошо_ не будет! Мало того все будет очень плохо но не сейчас а позже… В общем такое поведение приводит к значительным ошибкам обучения запоминаемым в наших моделях. Если бы мы использовали классическую ИНС – с этим ничего нельзя было бы сделать. Но у нас сеть с неким “нормальным состоянием” – и в этом нормальном состоянии ее веса = 0, и в процессе работы они увеличиваются до каких-то относительно небольших значений ограниченных алгоритмом обучения. Следовательно, мы можем предположить, что в адекватном случае работы, веса в обученной сети так же не должны превышать какие-то определенные небольшие значения. Поэтому мы можем после обнаружения проблемы с лямбдой минимизировать последствия накопления ошибок в LOLIMOT — например однократно ограничить веса, каким-то значением, или умножить всю сетку весов на какое-то значение меньше 1.00. Таким образом, оставив полезные “малые” поправки и убрать вредные “большие”. Есть у этого конечно и отрицательные моменты – в современной системе у вас так половина машины сдохнет, а вы даже и не поймете, что это произошло…

И так ознакомившись с теорией мы готовы к тому, чтоб окунуться в практику и посмотреть на конкретную реализацию функции обучения для лямбда-регулятора на базе совокупности локальных линейных моделей.
изображение.png37 Кб, 912x303
141 1378996
>>378995
Ну и наконец функция обучения весов.

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

Разве что стоит сказать про fak – это ошибка выхода умноженная на скорость обучения (некий желаемый коэффициент меньше 1.00 – обычно принимает довольно маленькое значение около 0.05).

Редукция числа моделей и входов.

Как вы поняли это еще не все преимущества такого подхода, перед классическими ИНС на персептронах. Для работы любой ИНС нам необходимо еще при проектировании жестко задать количество входов, поскольку с этим связанно выделение памяти. В случае с LOLIMOT вы конечно тоже задаете количество входов – но эти входы расположены не просто так, а строго в порядке предполагаемой их важности для процесса обучения регуляторов. И если например в какой-то момент при адаптации вы видите, что вход стоящий последним не оказывает никакого влияния на вашу функцию и не имеет смысла – вы можете его отключить! Тем самым уменьшить количество вычислений и конечно же — уменьшить количество необходимых моделей, а значит ускоряется и процесс обучения и работа процессора ЭБУ в целом. Ведь любые математические штуки, даже самые простые, требуют значительных ресурсов для вычислений – а этих ресурсов может и не быть, либо они могут быть нужны нам для чего-то другого…

Редукция вывода сети.

Это тоже очень важное свойство нашего метода, важное именно для обучения c использованием лямбды. Дело в том, что лямбда может внезапно сдохнуть. Но перед тем, как система управления поймет, что лямбда сдохла – лямбда может усиленно делать вид, что живая, и при этом прилично так врать. С этим связаны очень серьезные проблемы в простых “лоховских” решениях, типа “подключим мы ка лямбду к примитивному ЭБУ напишем в нем примитивный регулятор и все у нас будет хорошо” – на самом деле _хорошо_ не будет! Мало того все будет очень плохо но не сейчас а позже… В общем такое поведение приводит к значительным ошибкам обучения запоминаемым в наших моделях. Если бы мы использовали классическую ИНС – с этим ничего нельзя было бы сделать. Но у нас сеть с неким “нормальным состоянием” – и в этом нормальном состоянии ее веса = 0, и в процессе работы они увеличиваются до каких-то относительно небольших значений ограниченных алгоритмом обучения. Следовательно, мы можем предположить, что в адекватном случае работы, веса в обученной сети так же не должны превышать какие-то определенные небольшие значения. Поэтому мы можем после обнаружения проблемы с лямбдой минимизировать последствия накопления ошибок в LOLIMOT — например однократно ограничить веса, каким-то значением, или умножить всю сетку весов на какое-то значение меньше 1.00. Таким образом, оставив полезные “малые” поправки и убрать вредные “большие”. Есть у этого конечно и отрицательные моменты – в современной системе у вас так половина машины сдохнет, а вы даже и не поймете, что это произошло…

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

Используется сеть структуры – 3 входа, 10 локальных линейных моделей. (реализация допускает до 15 LLM). Упрощенных метод — без градиентов. Сеть редуцированна по входам – 4й вход на который может быть выведено множество переменных — не задействован.
В качестве входных параметров: обороты (nkw), относительная топливоподача (rk), температура двигателя (tmot).

Центры моделей сети представлены следующими значениями:

Стандартные отклонения для моделей:

При первом взгляде может показаться, что центры и стандартные отклонения выбраны странно – но первый взгляд в этом случае всегда обманчив! Помните про нормализацию, которая распространяет действие модели на всю ось? Так вот обычно всегда задействованы две, а иногда и три модели одновременно. 5я по счету модель работает практически всегда. “Холодные” 7-я и 8-й модели работают на прогреве зимой и в области низких нагрузок. Холостой на прогретом моторе обслуживает 4-я модель, на холодном моторе 2-я. 1-я модель, определяет поведение в зоне низких нагрузок на холодном моторе 6-я на горячем.

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

И так мы получили сложнейшую функцию обучения с плавными переходами между моделями с трехмерной сеткой входов и она у нас занимает всего каких то ничтожных 40 байт в ОЗУ!

Ладно на сегодня хватит пожалуй писанины. Увидимся в следующей серии.

Список литературы:

1) Nelles Oliver: Nonlinear System Identification: From Classical Approach to Neural Networks and Fuzzy Models. Springer, Berlin (2001)
2) Материалы конференции "Artificial Neural Networks and Machine Learning – ICANN 2014" стр 153-160 Torsten Fischer and Oliver Nelles: "Merging Strategy for Local Model Networks Based on the Lolimot Algorithm" Springer (2014).
fb521f48d581.png220 Кб, 1600x600
143 1379171
Аноны, есть проблема.
Надо написать классификатор изображений на овердохуя классов.
Проблема в том, что для каждого класса у меня OCHE MALO изображений - штук по 50 для каждого.

Переобучение после третьей эпохи нахуй.
Рейт ниже плинтуса. Че делать?

Читал статью в блоге кераса "Building powerful image classifier using very little data" (или как-то так), но дело в том, что там под вери литл дата имеют ввиду аж 2000 изображений блять.
(по 1000 на класс).

Возможно вообще обучить сеть, юзая по 50 семплов на класс?
144 1379181
>>379171
Что за модель-то используешь? С нуля вряд ли, а вот готовую подогнать можно и с 50-ю классами.
145 1379187
>>379181
Ну, честно говоря, я только начал пока. Сейчас тупо отпизды выбрал простейшую сеть.
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=input_shape))
model.add(layers.MaxPooling2D(pool_size=(2, 2)))

model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D(pool_size=(2, 2)))

model.add(layers.Flatten())
model.add(layers.Dense(128, activation='relu'))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(num_classes, activation='softmax'))

model.compile(loss=keras.losses.categorical_crossentropy,
optimizer=keras.optimizers.Adadelta(),
metrics=['accuracy'])


С нуля показывает рейт 2%, что чуть лучше, чем тупой рандом.
Сейчас запустил то же самое с раширением данных, прогнал на 10 эпохах - переобучения нет, что самое главное, но рейт еще ниже.
Но, мне кажется, это оттого, что эпох мало. Ну, раз в переобучение не уперся, значит тупо эпохи не дожал. Сейчас вертится обучение на 50 эпохах.

Да, я знаю про дообучение готовой.
Сейчас пытаюсь выжать максимум из нулевой, чтобы было на что опираться.
Если хотя бы 10% выжму на нулячей, можно считать успех...
146 1379194
>>379187
Бери готовую вроде VGG19, у твоей малюсенькой модели никаких шансов. Два конволюционных слоя + один dense это вообще ни о чём, это максимум MNIST классифицировать. Картинки-то хоть какого размера? dropout, кстати, попробуй убрать
147 1379213
>>379194
Да я понимаю, что с нуля на таком милипиздрическом количестве образцов на класс у обученной с нуля сети шансов нет.
Но хочу пока что просто посмотреть, сколько можно выжать, не прибегая к дообучению готовой сети.

>Картинки-то хоть какого размера?


Разные, от 100x100 до 1000x1000 максимум. В среднем хуйня, 300x400 где-то.
В генераторе все шакалятся до 150x150.

>dropout, кстати, попробуй убрать


Первоначально без него запускал, 3 эпохи и все, переобучение. На тестовых данных рейт, как и положено, стремительно растет аж до 95%, но на тестовых в районе 0.01-0.02.
С дропаутом переобучение наступает медленее немного, 5 эпох.

Тестовый прогон с расширением данных показал, что на 10 эпохах переобучения нет.
Сейчас запустил то же самое на 50 эпохах. Посмотрим че выйдет.
Это базовая модель, чисто чтобы убедиться, что это говно вообще работает и мои изменения влияют на результат.
148 1379219
>>379213

>3 эпохи и все, переобучение


Как ты learning rate выставляешь?
149 1379222
>>379219
Специально никак не выставлял. Видимо используется стандартный керосовский.
Ну и все остальные гиперпараметры тоже отпизды стоят.
Говорю же, просто пробую пока, изучаю что вообще происходит
Screenshot181.png482 Кб, 1822x866
150 1379285
Почему так медленно обучается?
Потому что сеть маленькая? Слоев мало?
151 1379413
А есть тут вкатившиеся с нуля без маь. вышки?
Сколько к успеху шли?
152 1379452
Что скажете про fast.ai?
153 1379494
>>379285
Пиздец, 10% рекорд короче.
Это при дообучении resnet50.
Но, возможно, я просто долбоеб и что-то не так делаю
154 1379515
>>379285
Потому что сеть большая, слоев много
proxy.duckduckgo.com.png35 Кб, 808x468
155 1379517
>>379171

>Проблема в том, что для каждого класса у меня OCHE MALO изображений - штук по 50 для каждого.


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

>Че делать?


Для начала аугментировать данные. Отразить-повернуть по 4 осям - это однозначно (если это имеет смысл конечно, в перевернутой цифре 6 например смысла мало). Далее, можно поповорачивать на произвольный угол, потому что сверточные сети по дефолту о поворотах ничего не знают. Затем "В генераторе все шакалятся до 150x150" - скорее всего зря. Скорее всего лучше и кропать и ресайзить. Все зависит от самих данных. Если у тебя коты, кропать 1000х1000 в 150х150 навернок не стоит. Но если у тебя деревья - то далеко не факт.

Затем, если у тебя есть много, очень много неразмеченных данных, можно запилить GAN-сеть (progressive gan например - давно не интересовался темой, какой там state of art сейчас, но эта хуйня точно работает). Погонять ее пару дней, и взять дискриминатор как основу для дообучения. Если же GAN так ничего осмысленного не загенерит, это скажет много о распределении твоих данных. Брать VGG, тренированную на котах, и пытаться размечать с помощью них спутниковые фотки - идея так себе. Но, с другой стороны, если ты найдешь похожий датасет, можно сначала потренировать на нем, а потом уже на своем датасете.

По поводу сеток, слишком сложные не бери. Смысла ноль. Советую inception, в частности googlenet. Как бейслайн самое то.
156 1379699
Помогите, ПРОШУ!
Иду на аналитика, теорвер в вузе ещё не проходил (только через год!), надо ОЧЕНЬ СРОЧНО понять линейную и логистическую регрессии, КАКИЕ ВЕЩИ (а ещё лучше -- прям главы учебника конкретного) знать НЕОБХОДИМО из теорвера/матстата, чем меньше -- ТЕМ ЛУЧШЕ! Сам с физтеха, разбираюсь быстро, но учить вообще не вариант, вот желательно самый сжатый формат, чтобы я на интуитивном уровне понимал, что там, и скриптил на питончике, чувствуя себя уверенно.
Screenshot188.png298 Кб, 1620x798
157 1379712
>>379517

>В чем проблема доразметить? Скорее всего это лучший вариант, анон.


Эт, конечно, заебись затея, но я не могу расширить датасет.

>Для начала аугментировать данные.


Так уже...

>Брать VGG, тренированную на котах, и пытаться размечать с помощью них спутниковые фотки - идея так себе


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

Вот пикрил на кошечках-собачках, что сука характерно, конечно, любые отпизды выбранные параметры выдают 90%.
А на моей задаче 7% пока рекорд
158 1379727
>>379712
ты уверен, что ты лейблы не перепутал или потерял где-то? попробуй сделать numpy.random.shuffle на массиве лейблов и посмотри как это влияет на результаты
159 1379771
>>379712

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


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

>А на моей задаче 7% пока рекорд


А у генератора случайных чисел какой рекрод будет? Сколько классов у тебя?
160 1379776
>>379727
Да вроде все верно, проверил на датасетах кошки/собаки + рентгеновских снимках легких, везде с первой же эпохи высокие рейты.

>>379771

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


Вот вопрос тогда - насколько низкоуровневые признаки надо брать? Я пытаюсь обучать последний сверточный блок (ну, там где 3 штуки Conv2d) VGG16.
Может, надо вообще пару первых слоев оставить, а остальное обучать?
По логике да, я пытаюсь искать признаки моих пич среди высокоуровевых собачьих глаз

>А у генератора случайных чисел какой рекрод будет? Сколько классов у тебя?


200 классов, по 50 изображений на класс.
У рандома, соответственно, шанс 1/200, 0.5%
В целом, сесть имеет статистическую мощность и выдает эти 2-3-7 процентов, что лучше рандома.
Но все равно с человеческой точки зрения это ни о чем же.
161 1379811
>>379776

>Вот вопрос тогда - насколько низкоуровневые признаки надо брать?


Поэксперементируй десу.

>Может, надо вообще пару первых слоев оставить, а остальное обучать?


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

>Может, надо вообще пару первых слоев оставить, а остальное обучать?


Тут еще два стула на самом деле. Можно обучать с нуля, можно обучать с уже обученного. Я предпочитаю делать и так и так. То есть глубокие слои я инициализирую заново, а верхние не переинициализирую, но и обучение на них не фиксирую. Правда это имеет больше смысла в случае resnet'ов.
Алсо не понятно, почему у тебя не resnet в 2019 году. У тебя из-за того что мало данных градиент до верхних слоев просто не доходит. То есть у тебя не просто переобучение, у тебя самые нижние слои переобучаются и на этом все обучение заканчивается.
Короче бери сетку у который максимум перформанса при минимуме параметров и residual связями. Вот это короче https://github.com/titu1994/Inception-v4/blob/master/inception_resnet_v2.py
Screenshot191.png35 Кб, 677x537
162 1379851
>>379811
Ок, пробую, анон...

Подскажи плиз, откуда взялось такое ебанистическое число параметров?
163 1379867
А что если выпилить каналы и сделать изображения черно-белыми?
По идее это на порядок ускорит обучение, правильно?
164 1379873
>>379851

>Подскажи плиз, откуда взялось такое ебанистическое число параметров?


Это 107648 из слоя flatten умножить на 256 из слоя dense.
107648 это 29x29x128 из последнего пулинга после flatten.
Любой dense layer это матрица размером вход х выход, в них как правило больше всего параметров.

>А что если выпилить каналы и сделать изображения черно-белыми?


Можешь поместить после входа Conv1D с параметрами 1х1х1, он сплющит твою картинку в черно-белую.
Обучение это ускорит только для первого слоя, потому что у тебя что у тебя из 3 каналов делается 64, что из 1 канала делается 64, потом число каналов не поменяется. Нет смысла короче.
165 1379888
>>379873

>Любой dense layer это матрица размером вход х выход


Ок, спс тебе, анон!

>Обучение это ускорит только для первого слоя, потому что у тебя что у тебя из 3 каналов делается 64, что из 1 канала делается 64, потом число каналов не поменяется.


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

Еще охуенно важный вопрос, подскажи плиз, что такое GlobalAveragePooling2D()?
Видел в куче сетей, в отличие от Flatten'а не увеличивает число параметров. Где тут наеб?
proxy.duckduckgo.com.png43 Кб, 553x402
166 1379907
>>379888

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


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

>Верно ли, что я тогда могу изображения на входе особо не шакалить?


Нет большого смысла делать то, что сетка может сделать сама. Разного рода конвертации типа RGB->YUV, RGB->Grayscale это просто 1x1x3 либо 1x1x1 свертки с зафиксированными параметрами. Если ты про даунскейл, то тоже, добавить лишний слой с малым числом фильтров и спулить потом все - это практически бесплатно. А вот вещи типа поворотов или, например, преобразования Фурье, кепструмов-хуепструмов имеет смысл пилить вручную. Потому что сама сетка не научится это делать за время жизни вселенной.

>Еще охуенно важный вопрос, подскажи плиз, что такое GlobalAveragePooling2D()?


Это AveragePooling с размером кернела во все изображение. То есть на входе у тебя hxw, на выходе будет один многоканальный пиксель.
У dense-слоев наибольшее число степеней свобод, они умеют все то же, что сверточные слои, и еще кучу всего сверху. Чтобы ускорить обучение, мы объявляем, что у нас есть инвариантность вдоль осей w и h (но не в фильтрах, они мапятся каждый-с-каждым как в dense-слоях), и получаем сверточные слои, в которых эта инвариантность жестко зашита. При этом любой такой сверточный слой представим в виде dense-слоя с большим числом нулей и одинаковых параметров вдоль диагонали матрицы (см. пикрелейтед для 1д случая).
На самых глубоких слоях мы утоптали наше пространственное режение до 29х29, поэтому говорим, что все, пространственной инвариантности у нас нет. И хуячим dense-слой, то есть по сути 'valid' свертку размером 29х29.
Что касается GlobalAveragePooling2D, то здесь dense layer заменен вообще средним арифметическим. Какой тут инвариант подразумевается сам подумай, я не знаю.
167 1379918
>>379907

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


Хуясе. Понял, анон.

Кстате, походу я долбоеб кто бы сомневался.
Я понял, откуда берутся эти охуилярды параметров.
Я подключаю полносвязный слой к полноценной пикче 29x29, ясен хуй это много параметров.

Количество сверточных слоев должно быть таким, чтобы в итоге уменьшать пикчу до нескольких пикселей.
Тогда и больше высокоуровневых признаков будет извлечено и быстрее все будет происходить.
168 1379987
44 процента, аноны!
Вроде все делал как обычно.
Дообучал первый (последний? Короче тот, что с высокоуровневыми признаками) сверточный слой VGG16.
Первые 10 эпох копошилось в районе 0.01, потом выросло до 10, а потом до 40.

Так, с этим уже можно работать.
Наконец-то поведение этой хуйни начинает напоминать то, о чем я читал в книжке.
Я уж думал я совсем даун кого я обманываю, это так и есть
169 1380046
Подскажите, что за хуйня.
Запускаю одну и ту же сетку.
VGG16, fine tuning верхнего сверточного блока.
Всего по 50 примеров на класс.

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

Связано ли это с аугментацией изображений?
Тип что рандомно там нагенерилось, так сеть и обучилась.
Пездос, оно работает, я в шоке, думал выше 7% не прыгну вообще.
Это еще старая базовая сеть, можно же всякие инсепшены и реснеты брать + кросс-валидацию, ибо примеров мало, еще гиперпараметры подрочить...
170 1380052
>>380046

>Связано ли это с аугментацией изображений?


А она у тебя каждый раз разная, лол?

Learning rate уменьши
171 1380057
>>380052
Ну рандомные преобразования же, ну.
Конечно разная.
Повороты там, отражения, искажения.
Валидационные данные остаются как есть, разумеется.

>Learning rate уменьши


Вот с ним немного экспериментировал. При сильно большом потери огромные.
Но тоже вполне себе гиперпараметр и его стоит подрочить, согласен.

Знаешь что про one cycle? Что это? Вроде как динамический learning rate.
172 1380071
>>380057

>Ну рандомные преобразования же, ну.


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

>Знаешь что про one cycle? Что это? Вроде как динамический learning rate.


Ставишь lr очень низким, и плавно его наращиваешь до экстремальных значений. Внимательно смотришь график loss - в какой-то момент его заколбасит. Берешь четверть от этого числа и обучаешь начиная с этой четверти до числа. Я пробовал, у меня сработало. Вместо 10 поколений стало обучаться за 2. Но точность выше не стала.
Без названия.png14 Кб, 389x278
173 1380177
>>380071
Понял, спасибо, анон.
Подскажи, что за хуйня происходит на пике?
С одной стороны вроде переобучение, но валидейшн-рейт тоже растет потихонечку.
Screenshot199.png23 Кб, 492x330
174 1380188
>>380071

>Ставишь lr очень низким, и плавно его наращиваешь до экстремальных значений. Внимательно смотришь график loss - в какой-то момент его заколбасит.


Seems legit
175 1380212
>>373612 (OP)
NVIDIA открыла код системы машинного обучения, синтезирующей пейзажи по наброскам

Компания NVIDIA опубликовала исходные тексты системы машинного обучения SPADE (GauGAN), позволяющей синтезировать реалистичные пейзажи на основе грубых набросков, а также связанные с проектом нетренированные модели. Система была продемонстрирована в марте на конференции GTC 2019, но код был опубликован только вчера. Наработки открыты под свободной лицензией CC BY-NC-SA 4.0 (Creative Commons Attribution-NonCommercial-ShareAlike 4.0), допускающей использование только в некоммерческих целях. Код написан на языке Python с применением фреймворка PyTorch.

https://www.opennet.ru/opennews/art.shtml?num=50507
176 1380213
>>380212
Заебись, дообучаем генерировать йобы по наброскам
15443451318580.jpg84 Кб, 540x533
177 1380224
Анон, подскажи, пожалуйста, нюфажине.
Ну вот допустим вспомнил/подтянул я теорвер, линал, статистику, подучил питон, балуюсь с выборками данных из ОП-поста.
А дальше что? Опыта-то нет, кому из работодателей нужен такой работник?
Ну и вопрос - а как устроиться? Как вы устраивались?
Инб4 записаться на курсы за 999999 по DataScience
178 1380285
>>380224
Знаю только либо людей, которые без опыта и познаний в математике устраивались в стартапы по знакомству, либо задротов, которые после ШАДа шли в Яндекс. Остальные не нашли работу и ушли в программирование.
179 1380311
Аноны, почему модель не сходится при маленьком batch size'е?

Все то же самое, запускаю на домашнем пека с маленьким batch size, чтобы в память видюхи влез - вообще сука не сходится.
При запуске на сервере с большим batch size - сходится и обучается нормально.
В чем дело?
180 1380312
Как правильно персистентные (ко)гамалогии считать не full-batch?
181 1380316
Посоветуйте наиболее актуальные курсы на Coursera, проходил два года назад от Яндекс и МФТИ, но не закончил из-за работы. Сейчас хочу заново взяться.
182 1380317
>>380311
Много локальных минимумов, а значит и сёдел, в них всё застревает.
183 1380319
>>380317
Как быть? Что делать? Можно заставить модель сходится на говножелезе?
Пока попробовал уменьшить изображения на входе, но увеличить batch size, посмотрим что выйдет
184 1380322
Еще охуительный вопрос. Больший batch size - всегда лучше? Или не всегда?

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

Может ли быть такое, что слишком большой batch size ухудшает модель?
185 1380323
>>380319
Жопой прочитал, у тебя ж как раз батч сайз маленький. Ну, тоже сёдла, но по более простой причине - градиента только в одном направлении недостаточно, ставь больше батч.

> Что делать?


Больше батч, вон, ты же видишь что лучше выходит. Ну или бустить.
>>380322

>Больший batch size - всегда лучше?


Зависит от задачи, но в общем - лучше в самый раз, не больше ни меньше.
186 1380381
>>380311
Ты ведь уменьшаешь learning rate?
188 1380388
>>380385
Ты же в курсе, что SGD сходится только если уменьшать LR?
189 1380390
>>380311

> Аноны, почему модель не сходится при маленьком batch size'е?


При изменении batch size для того же перформанса нужно поменять и learning rate так, чтобы отношение bs/lr было константным. Когда ты снизил batch size, тебе нужно было снизить и lr. Ты этого не сделал, в итоге у тебя lr слишком большой со всеми вытекающими.
190 1380477
Кто-нибудь пытался вкатиться в компьтерное зрение? Выглядит как реальный рокет саенс, намного сложнее нейронок. Но я какую-то задротскую книгу листал, может быть на практике все иначе?
191 1380484
>>380477
На практике все еще хуже, лол. В книгах самые азы
192 1380492
>>380484
У нас в мухосрани есть вакансии в CV. Сомневаюсь, что там все уберменши с бэкграундом уровня Szeliski Book, в стране в вузах такого уровня подготовки нет.
193 1380493
>>380492
В /dr есть дневник научного сотрудника, делает кампутерное зрение для ракет.
194 1380494
Почему kaggle бесплатно раздает виртуалки для машинного обучения, да еще и с GPU?
Я просто охуел, когда увидел. Прост приходишь такой и запускаешь свой говнокод на настоящей видюхе.
Откуда у них столько денег?

Там еще и по несколько штук одновременно можно запускать, на амазоне бы это стоило 5 баксов за час
195 1380497
>>380492
Ты в курсе, что OpenCV разрабатывается русскими и если ты прямо сейчас зайдешь на гитхаб, ты увидишь в последних коммитах одни русские фамилии?
Как же вы заебали с этим дрочем на западные вузы. Успехи в Computer Vision зависят прежде всего от способностей к прикладной математике, а математическая подготовка у нас нормальная, даже ее недостатки - они скорее области переусложнения, а не упрощения. И компьютерное зрения традиционно сильная сторона русских.

>уровня Szeliski Book


Ну в этой книжке самые азы как раз.
196 1380499
>>380494

>Откуда у них столько денег?


Каких денег, они утилизируют простаивающие мощности на которых в другое время корпорации будут считать реальный код. Взамен получают статистику.
197 1380512
>>380497
Живу на родине OpenCV, сижу с разработчиками в одном офисе Нижний Новгород, Intel. Некоторых их этих людей я знаю лично. У них хорошо с математикой, но эту книгу они бы признали очень сложной.
198 1380527
>>380512
Эта книжка просто введение в специальность. По любой теме краткое описание без особой практики, а хочешь что-то реализовать действительно - пиздуй читать статьи, на которые она ссылается. Может, она для тебя сложная, но проще не бывает.
Unless туториалы от васяна, где эти алгоритмы представлены как черные ящики и ты просто их используешь.
199 1380534
>>380527

>Unless туториалы от васяна, где эти алгоритмы представлены как черные ящики и ты просто их используешь


99% Машин лернинга.
200 1380540
>>380497

>что OpenCV разрабатывается русскими


Чего бля? Это сборник алгоритмов начиная с 50х, и да, никакой супер йобы толком с ними не сделаешь. А так, да, наши ботаны запилили.
201 1380541
>>380512

>Некоторых их этих людей я знаю лично


А они разве не посъебывали, вроде как основатели встали на тапки?
202 1380542
>>380540

>сборник алгоритмов начиная с 50х


Ты сейчас описал любой софт, написанный на планете земля
203 1380552
>>380541
Не в курсе насчет основателей, но многие нынешние контрибуторы в OpenCV все еще здесь. Некоторые съебали из Intel и запилили свои стартапы, с упором на диплернинг.
Screenshot203.png203 Кб, 1650x733
204 1380556
Дообучаю Xception. На обучающих данных быстро растет рейт, но на проверочных очень медленно, хотя и стабильно.
С чем это связано?
На VGG16 на проверочных данных рейт растет более отрывисто, но быстрее и более коррелирует с тренировочными данными.
205 1380562
>>380556
Ты оверфитишься.
206 1380635
Анон, обучающий сеть, а ты не забыл предобработку входных данных сделать (vgg16.input_preprocessing())?
207 1380644
>>380562
Вот та же самая сеть, fine tuning верхнего слоя Xception, но где изображения на входе меньше шакаляться и batch size побольше.

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

Переобучение же - это когда рейт перестает улучшаться на проверочных данных. Но он улучшается же.
Когда нужно вырубать обучение? С одной стороны, по идее, чем дальше обучение, тем больше сеть начинает хавать некорректных признаков из обучающих данных.
Но при этом у меня на тестовых рейт не падает, сука. Хотя по идее должен начинать в определенный момент.
208 1380645
>>380635
Хмм, это из кераса?
Прост через генератор изображения рандомятся, скейлятся и нормализуются.
train_datagen = ImageDataGenerator( # Расширяем тренировочные данные.
rescale=1. / 255,
rotation_range=40,
width_shift_range=0.2,
height_shift_range=0.2,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
fill_mode='nearest'
)
train_generator = train_datagen.flow_from_directory(
train_dir,
target_size=target_size,
batch_size=batch_size,
class_mode='categorical'
)
209 1380650
>>380645
Там для разных предобученных моделей свои способы предобработки. У VGG вроде как переставляются каналы местами (RGB -> BRG) и нет рескейла, только вычитается среднее, у MobileNet нормируются пиксели на [-1, 1].
210 1380656
>>380650
>>380645
Например, vgg16 его предобрабатывает а-ля caffe, а xception - как tf.
https://github.com/keras-team/keras-applications/tree/master/keras_applications
Просто пиздец, ну почему керас так хуёво документирован?
211 1380668
>>380650
>>380656
Хмм, ну это же просто вид input shape'а, нет?
Входная форма тензора задается для первого слоя
212 1380768
>>380668
Нет, при чём тут форма входных данных? Форму оно никак не меняет, оно значения пикселей меняет, а веса в готовых нейронках по этим значениям как раз настраивались.
plachucshiy-kotechka20158274orig.jpg63 Кб, 1149x1024
213 1380800
>>380768
В смысле? Я нихуя не понял. Объясни плиз, что значит "значения пикселей меняет"?
214 1380868
>>373612 (OP)
Анон, хочу пощупать нейрончики, но на моём говно-ноуте это нереально. Посоветуйте какое облако можно взять нищуку, чтобы запускать tensorflow-ы всякие и прочие хипстерские технологии, которые не работают?
А когда разбогатею, откладывая деньги, которые дают на обеды - обязательно куплю норм ПК
215 1380869
>>380868
Kaggle kernels, бесплатный вообще, работает быстрее, чем моя 1050.
d75.jpg73 Кб, 495x495
216 1381067
>>380800
Был массив batch_size x height x width x channels - станет массив такой же размерности, но со значениями, преобразованными в соответствии с тем, как обучали нейронку на imagenet. Когда обучали VGG, у изображения меняли местами каналы и центрировали каждый канал, соответственно, на это же рассчитаны веса готовой нейронки. Когда обучали другие архитектуры, картинки преобразовывали по-другому, и у них веса рассчитаны на другое. preprocess_input преобразует твоё изображение к тому, что ожидает нейронка.
217 1381072
Посоветуйте каких-нибудь хацков для каггла или где их найти, пожалуйста. Я имею ввиду именно что-то практичное для соревнований, типа самостоятельно залейблить тестовую дату и на ней обучаться и вот все такое.
218 1381478
>>381072
Мониторь публичные ядра, туда часто высирают топовые сетки.
Правда как-то раз видел сетку из топ 1% по какому-то соревнованию в 30 строк, лол, но обосрался с того, что там тупо около 10 циферок забито уровня
0.004
0.03
32
0.09
Короче хуй пойми откуда взятый набор гиперпараметров.
14125992593402.jpg39 Кб, 499x729
219 1381522
>>381067

>Когда обучали VGG, у изображения меняли местами каналы и центрировали каждый канал, соответственно, на это же рассчитаны веса готовой нейронки. Когда обучали другие архитектуры, картинки преобразовывали по-другому, и у них веса рассчитаны на другое. preprocess_input преобразует твоё изображение к тому, что ожидает нейронка.


Нихуя себе! Спасибо, анон, Это же должно быть пиздец как важно тогда.
Запустил несколько эпох с preprocess_function, сразу заметно, что БЫСТРЕЕ обучается, я в ахуе.
госпаде, почему я узнаю об этом только сейчас, почему этго не было в книжке по керасу (написанной автором кераса блять)
220 1381569
Ебать, короче для VGG16 добавление предобработки keras.applications.vgg16.preprocess_input дает более лучшие результаты.

Но для Xception keras.applications.xception.preprocess_input наоборот значительно ухудшает обучение. Что за хуйня?
221 1381607
>>380868
Google Colab.
>>381569
Xception тупо делит весь массив на 127.5 и вычитает 1, т.е. если там были значения от 0 до 255, то оно приведёт их на интервал [-1, 1]. Попробуй выкинуть из ImageDataGenerator rescale.
222 1381666
Какие задачи по reinforcementу порешать?
223 1381853
>>380644
Если VC расзмерность твоей модели слишком большая и ты выучивашь все данные и обобщение фиговое, то это называется оверфитинг.
224 1381861
>>381853

>VC расзмерность


Олдфаг в треде.
15520534628591.png411 Кб, 512x512
225 1381898
>>377041

> Почему работа нейронки отдалённо напоминает то, что видит разогнанный мозг под лсд?


Я ж писал уже. ЛСД это 5ht2a агонист, который растормаживает воздействие таламуса на кору. В нейроночках ваших изначально нет аналогов таламуса. Поэтому они считай постоянно под ЛСД. Тем более, сверточные сети изначально создавались на основе зрительной коры кошки (Нобелевская премия Хьюбела и Визеля)
226 1381914
>>381898
Какой ты умный, хочу от тебя котана.
227 1382126
>>381853
Вот только посчитать VC-размерность для всякой диплернинх параши вряд ли возможно, во всяком случае, мозги нужны, одной бороды мало. Поэтому, если что-то не работает, только танцы с бубном.
228 1382281
>>382126
Если модель запомнила весь датасет и плохо обобщает та валидации и тесте, то она явно слишком сложная и ничего считать не нужно. К тому же при прототипировании есть только два варианта: нарастить сложность или уменьшить ее.
229 1382510
Выжили ли мухи, которых нейроночка кормила?
1553004313438.jpg46 Кб, 400x381
230 1382534
>>382126

>посчитать VC-размерность


Дед, проснись, сдохла твоя VC-размерность давно.
231 1382535
>>382281
>>382534
Сейчас бы с нечетким петухом всерьез разговаривать
232 1382551
>>382535
При чем здесь нечеткий петух? В реальности VC размерность не используется для оценки риска модели, все используют k-fold, holdout или LeaveOneOut(с вариациями). На практике все сводится к наращиванию или уменьшению сложности в том числе подбор коэффициента L1/L2/ElasticNet регуляризации, вероятность дропаута, аугментации данных, подбор числа слоев. Само по себе значение VC размерности не столь важно, важно понимание, того, что у глубоких нейронок оно крайне высокое (если случайно перемешать лейблы в ImageNet, то нейронки их заучат c 0 ошибкой).
233 1382557
>>382551
При том что пост 1382126 его.
234 1382558
>>382535
>>382557
Но это же двач, здесь все мои друзья. Я бы и с собакой поговорил.
235 1382561
>>378996
Что мешает использовать в этой задачи нормальный метод нелинейной одномерной регресси например Natural Cubic splines, и просто подобрать коэффициент регуляризации по сетке?
236 1382983
>>382551
VC размерность, слесарушка, нужна не для "оценки риска модели" и прочих бизьнесьметрик чтобы потом отчет составить и начальству отрапортовать, а для того чтобы понять имеет ли вообще смысл задача аппроксимации.
добрый.png238 Кб, 550x550
237 1383002
>>382983

>имеет ли вообще смысл задача аппроксимации


Имеет, мне за её решение деньги платят.
238 1383038
>>382983

>Незнает что такое риск в статистическом обучении, думает, что кому-то интересно сколько точек в данном пространстве может выучить рассматриваемая модель. Считает себя д'артаньяном.


Ты точно уроки на завтра сделал?
239 1383108
>>383038

>кому-то интересно сколько точек в данном пространстве может выучить рассматриваемая модель


Кто-то тут явно ничего не выучил.
240 1383168
>>383038
Вряд ли нечеткий петух где-то учится.
241 1383239
>>382561

>Что мешает использовать в этой задачи нормальный метод нелинейной одномерной регресси например Natural Cubic splines, и просто подобрать коэффициент регуляризации по сетке?



Возможности микроконтроллера мозгов, судя по всему.

Вообще, автор пасты какой-то пахом.

Нашел оригинал на drive2 (юзер emmibox, он же, как я понел, Maxi RPD c турбобазара), там этот упорок:

1) Ищет СПГС в последнем клипе рамштайна.

2) Дрочит на немецкий автопром и хейтит рисовозки

3) В своей тюненх-конторе настраивает ведра на сраном 5 январе

4) В своей прошивке для этого самого января, как я понел, напиздил чужого кода, соединил его в хекс-редакторе и продает мозги из конца 90х

5) Кидает через хуй своих клиентов (на том же драйве нашел кучу жалоб что этот хуй с непомерным чсв криво настраивает моторы, посылает нахуй с техподдержкой своего говна и вообще долбоеб)

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

Но вот за

Nelles Oliver: Nonlinear System Identification: From Classical Approach to Neural Networks and Fuzzy Models. Springer, Berlin

и

Isermann R. Engine Modeling and Control: Modeling and Electronic Management of Internal Combustion Engines

ему, конечно, респект, интересная хуита.
241 1383239
>>382561

>Что мешает использовать в этой задачи нормальный метод нелинейной одномерной регресси например Natural Cubic splines, и просто подобрать коэффициент регуляризации по сетке?



Возможности микроконтроллера мозгов, судя по всему.

Вообще, автор пасты какой-то пахом.

Нашел оригинал на drive2 (юзер emmibox, он же, как я понел, Maxi RPD c турбобазара), там этот упорок:

1) Ищет СПГС в последнем клипе рамштайна.

2) Дрочит на немецкий автопром и хейтит рисовозки

3) В своей тюненх-конторе настраивает ведра на сраном 5 январе

4) В своей прошивке для этого самого января, как я понел, напиздил чужого кода, соединил его в хекс-редакторе и продает мозги из конца 90х

5) Кидает через хуй своих клиентов (на том же драйве нашел кучу жалоб что этот хуй с непомерным чсв криво настраивает моторы, посылает нахуй с техподдержкой своего говна и вообще долбоеб)

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

Но вот за

Nelles Oliver: Nonlinear System Identification: From Classical Approach to Neural Networks and Fuzzy Models. Springer, Berlin

и

Isermann R. Engine Modeling and Control: Modeling and Electronic Management of Internal Combustion Engines

ему, конечно, респект, интересная хуита.
242 1383243
>>383239

>emmibox



О, этот упорок еще и на говнохабре есть:

https://habr.com/ru/users/emmibox/comments/
243 1383267
Что то какой-то второй золотце, тот по лишпу упоролся, этот по матлабу.

https://habr.com/ru/company/edison/blog/432334/
244 1383409
>>383108
Ты ебанулся?
245 1383722
>>383409
Суть VC-теории в теореме о росте. Дело не в определениях про "количество точек" а в том как растёт размерность с увеличением выборки. Бесконечная vc-размерность означает что в задаче аппроксимации не больше смысла чем в предсказании случайного шума.
246 1383755
>>383722

>растет VC размерность с увеличением выборки


Размерность не растет с увеличением выборки, она от нее вообще не зависит, функция роста выборки зависит. Вероятность переобучения стремиться до нуля с увеличением выборки, для моделей с конечной VC размерностью - вот суть VC теории. А ты даже определений не знаешь.
247 1384064
Уважаемые сеньеры-помидоры. Я почитал обзорные статьи и не очень понимаю, куда двигаться дальше, чтобы побыстрее начать делать ML более-менее осознанно.

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

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

Хочу делать машоб для управления роботами: навигация в пространстве, манипуляция физическими предметами etc.

В идеале я хочу шарить во всем: классические алгоритмы, ансамбли, deep learning. Но может на практике что-то из этого не используется (или не используется конкретно в интересной мне сфере) и соответственно учить не имеет смысла?
248 1384088
>>373612 (OP)
Есть чёнить чтоб совсем не ебаться? Ну там GUI чтоб указать ему что ему скормить и что ему выдать, нажал на кнопочку и обучил?
249 1384179
>>384088
Есть
250 1384398
Прогнал через автокодировщик.
251 1384452
>>384064

>Правильно я понимаю, что для серьезных задач используют только ансамблевые методы и нейронки?


нет

>Что нейронки могут все


нет

>не используют классические алгоритмы обучения


нет

>работают как черный ящик


не совсем

>требуют ОЧЕ много вычислительных ресурсов для обучения


не совсем

>соответственно обучаются очень долго.


не совсем

>ансамлевые методы используют классическое обучение


ты про что вообще? https://dyakonov.org/2019/04/19/ансамбли-в-машинном-обучении

>обучаются на порядки быстрее


нет (по секрету, можно сделать ансамбль из нейронок)

>но проектировать их дохуя сложно


нет
252 1384468
>>384064
Ансамбль — просто несколько нейронок/алгоритмов, объединенных вместе.
253 1384476
>>384064
Почитай бишопа или ESL, разберись в основных алгоритмах. Прочитай про нейронки (необязательно).
254 1384535
>>384179
Как называется?
255 1384968
Что с RL-то, почему все подряд сейчас говорят что не работает?
257 1385147
Elements of Statistical Learning очень сложная книжка. Неужели все двадцатилетние хипстерки, работающие в дата саенс, знакомы с материалом книги? Я не верю, что они смогли это освоить, не утратив молодости и шутливости.
cfnn.jpg50 Кб, 548x552
258 1385995
Есть так называемые cascade-forward neural networks (CFNN). Написано, что CFNN имеет весовое соединение от входного и каждого предыдущего слоя до следующих слоев. Показано на приложенной картинке как выглядит cascade-forward neural networks.

Подскажите, пожалуйста, как с помощью Keras сделать такую же CFNN как на картинке?
259 1386141
>>385995
Поищи репы с реализацией DenseNet на керасе, похоже на этот твой CFNM
260 1386152
>>385147
Не то, чтобы очень сложная, процентов 80 довольно легко понять. А досконально теорию нужно знать только для того, чтобы пройти собес в Яндекс. Почти все вкатывальщики делают упор на ПРАКТИКУ и ПЕТ ПРОЕКТЫ (fit-predict + симпатичный EDA). Так что не считай себя дураком анончик :3
261 1386520
>>385995
Concatenate + Dense же, нет? Ну или свой слой писать, если размеры разные.
262 1387589
Почему нейроночки в 2к19 не отсканировали все книги в удобный формат?
263 1387593
>>387589
Потому что ты не понимаешь что такое нейроночки
264 1387620
>>385995
Примерно так:
i1 = Input(...)
i2 = Input(...)

l1_input = Concatenate(...)([i1 i2])
l1 = Dense(...)(i1_input)

l2_input = Concatenate(...)([i1 i2 l1])
l2 = Dense(...)(l2_input)

l3_input = Concatenate(...)([i1 i2 l1 l2])
l3 = Dense(...)(l3_input)

Keras в плане рисования любых графов достаточно прост - конструктор создает веса, которые могут быть переиспользованы, а вызов функции уже конкретный слой.
265 1387667
>>386152

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


Зачем этой офшорной рекламной параше вообще нужны такие специалисты? Это же чистые понты уровня поиска уборщицы с вышкой по математике, пхд и знанием хаскеля. Кроме рекламы и ухода от налогов в рашке они чем-нибудь вообще занимаются? У них гитхаб беднее чем у любого среднего индуса. Полтора враппера и ещё какая-либо хуета без задач.
266 1387669
>>387667

>Кроме рекламы и ухода от налогов в рашке они чем-нибудь вообще занимаются?


курсы для вкатывальщиков продают
267 1387729
>>387669

> курсы для вкатывальщиков продают


А, точно, ещё лохов разводят.
268 1390014
>>387667

>У них гитхаб беднее чем у любого среднего индуса.


На гитхабе свет клином не сошелся.
5efa13a2e5744a66a924206792e9e470.jpg296 Кб, 1280x955
269 1390043
Спрашивал в ньюфаг треде, но напишу и сюда. Хочу вкатиться в изучение нейронок, покатит ли условный минт или убунта на виртуалке или поставить вторую ось?
270 1390083
>>390043
Если планируешь обучать на GPU, то проще вторую ось поставить, чем ебаться с пробросом видеокарты.
271 1390087
>>390043
покатит использование Google Colab и запускайся хоть с калькулятора
272 1390126
>>390043
Сколько времени ушло на прочтение этих книг?
273 1390136
>>390083

>Если планируешь обучать на GPU


У меня неплохая видеокарта, но не топовая, поэтому сомневаюсь в целесообразности ее использования. Я так понимаю, что не обладая 1080, все же лучше воспользоваться этим советом >>390087 ?
274 1390138
>>390136
на 1066/1070 можно вполне комфортно обучать сетки, вообще сильно зависит от задачи
275 1390153
>>390138

>1066/1070


Увы, у меня 1063. Я брал ее в декабре для других целей, там количество видеопамяти было не критично, ну и плюс экономия.
276 1390164
>>390153
Тогда colab/aws/GoogleCloud/Azure твой выбор
277 1390176
>>390164
Спасибо, я так и думал.
278 1390285
>>390043
Ничоси библиотека. А хоть что-то прочитал?
279 1390287
>>390285
Скорочтение наверное дочитывает
280 1390361
У меня super tupoi вопрос. Есть ли какой гайд/репозиторий с кодом о том, как предобработать картиночки? Сделать их одного рамзера там, аугементация и прочая херь?
281 1390367
>>390361
какой фреймворк?
282 1390385
>>390367
opencv
283 1390387
>>390385
хотя лично мне больше нравится PIL
284 1390393
>>390361
Гугли imgaug
285 1390439
>>390153
Для обучения на mnist мощностей цпу хватит, а этой видеокарты тем более.
286 1390978
>>390138
Я кстати слышал, что на колабовском gpu сетки быстрее обучаются, чем на 1066
287 1391287
Что особенного в курсах MIT?
288 1391289
Басп
289 1391485
>>390978
Интересно, а какой профит у гугла от бесплатных облачных вычислений?
290 1391486
Мдэ
291 1391492
>>391485
Снимают людей на выблядка и отправляют использованные ими наборы данных в цру, анб, госдеп сша и моссад.
292 1391509
>>391485
И помимо снятия людей на выблядка, они в калаб отдают чуть старое оборудование, а сами они перешли на более новое и классное.
15536678225060.mp4267 Кб, mp4,
1280x720, 0:02
293 1391528
>>391492

> Снимают людей на выблядка


>>391509

> И помимо снятия людей на выблядка

294 1391532
>>391528
Алекстайм возмущался, что женщина снимает его на выблядка, думая что в ее ребенке встроена камера для слежки за ним.
296 1391551
>>391528
>>391539
Посоны, я ньюфага поймал.
297 1391590
>>391551
Я серьёзно впервые эту хуйню слышу. Про алекстайма вкурсе кто такой.
298 1391600
>>391590
Морир мерда и подохните, твари.
299 1391867
Анон, я сейчас решаю для себя задачу по распознаванию лиц. Использую openCV
Задача:
1. Парсить папку с кучей видео
2. В одном видео может быть несколько людей
3. Один и тот же человек может быть в разных видео
4. На выходе я должен получать список "человек - видеофайл1;видеофайлХ;".
5. Предварительного сета лиц для обучения нет.

Как это лучше сделать?
Пока у меня получается следующее:
1. Нет ни одного лица в сете
1.1. Обучаем модель распознавания на двух чёрных квадратах
2. Берём кадр1 видео1 ищем лица.
2.1. Пытаемся распознать лицо - получаем слишком большую дистанцию
2.2. Всё ок, мы знаем что у нас в модели только чёрные квадраты, поэтому создаём новую персону (персона1) и апдейтим модель распознавания.
2.3. Берём кадр2 видео1 ищем лица.
2.4. Пытаемся распознать лицо - получаем нормальную дистанцию с персона1 и апдейтим модель. Теперь персона1 имеет 2 фотки и распознаётся лучше.
2.5. Начинаются проблемы. В кадр3 видео1 у нас может внезапно поменяться ракурс лица и оно хоть и распознается как персона1, но дистанция получится относительно большой или у нас может появиться персона2 ещё не внесённая в модель распознавания, но она распознается как персона1 с относительно большой дистанцией. Как обойти этот случай? Как понять - это персона1 с другим ракурсом/освещением или персона2?
3. Но ок, допустим в видео1 у нас только персона1. Открываем видео2. Там может быть как персона1, так и персона2. Но у персоны1 будет новый ракурс\освещение. Как результат мы с примерно одинаковой дистанцией распознаем человека и или будем считать что персона2 = персона1 или что персона1видео1 != персона1видео2.

Как всё это правильно сделать|что почитать?
300 1391972
>>390978
дело не то в быстрее/не быстрее, но в том, что у тебя комп в комнате не будет шуметь + компом можно будет пользоваться и тупо выключать если надо + можно настроить оповещение в телегу по завершению обучения, у colab плюсов много
301 1391977
>>391867
opencv + object tracking и хранить все дескрипторы лиц и после сравнивать их (разумеется перед этим обработать их)
мимо нубас
14250321182073406018.jpg125 Кб, 807x504
302 1392016
У меня встройка вместо видеокарты, но есть охуенная идея. Кому делать нехуй не в падлу попробуйте потренировать сеточки делать из верхних пиков нижние
1539254747466.jpg616 Кб, 1000x1200
303 1392024
>>392016
а на каггл сделать такой проект слабо? :3
304 1392040
>>392024
Давай базу где скочать
305 1392041
>>392016
Дай датасет нормальный, сделаю.
306 1392049
>>392024
Слабо :3
>>392041
Мне понадобится время чтоб нарезать достаточное колличество. Завтра дам
307 1392056
>>392016
Предвкушаю мутантов в результате
308 1392128
>>391977
Попробовал встроенный object tracking, работает как земля. Придётся видимо по крайней мере по началу сортировать руками.
309 1392151
>>391867

>Как это лучше сделать


взять openface
310 1392209
>>374335
В Яндекс Еду собирался устраиваться?
311 1392212
>>376036

>очень сложная область


Про петухов это о тебе? ЖС легче, там нельзя обойтись вызовом двух-трёх абстракций от Гугла.
312 1392215
>>376425

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


Сначала докажи что сам можешь, а потом уже кукарекай. Это нихуя не просто.
313 1392225
>>376425
Осталось придумать, нахуя это делать. Современные системы настолько же далеки от ручного вычисления производных примерно как студенческий интерпретатор лиспа далек от gcc.
И если ты не понимаешь, что питон используется только как язык описания графов, а все выполняется на видюхах после компиляции, то просто заткнись и съеби из треда, пафоса у тебя больно дохуя, при том, что ты полный ноль в теме.
314 1392226
>>378305
Пойдёт. Анна выше не слушай. Книжечки лучше, быстрее начнёшь разбираться и не будет пробелов.
315 1392232
>>392225

> 2к19


> графы


Ты из палеолита вылез?
316 1392273
>>392232
Ты если чего-то не понимаешь, не пизди хоть.
sage 317 1392277
>>392273

> пук

1556647672402.png168 Кб, 1000x801
318 1392280
>>392232

> В некоторохых подходах к обратному распространению берутся граф вычислений и множество числовых значений, подаваемых на вход графа, а возвращается множество числовых значений, равных градиентам во входных точках. Такой подход мы называем символьно-числовым дифференцированием. Он реализован в библиотеках Torch (Collobert et al., 2011b) и Caffe (Jia, 2013).


> Другой подход – взять граф вычислений и добавить в него дополнительные вершины, содержащие символьное описание требуемых производных. Он используется в библиотеках Theano (Bergstra et al., 2010; Bastien et al., 2012) и TensorFlow (Abadi et al., 2015).

319 1392292
>>391972
Да, только коннект вроде обрывается через 2 часа
sage 320 1392301
>>392280
А че не из 1998 цитаты притащили? Ты думаешь год тебе просто так написали?
321 1392305
>>376425
Нахуя изобретать велосипед если это уже сделано овердохуя раз?
322 1392307
>>392301
Кончай себя закапывать уже
323 1392308
>>376425

> Верить в то, что питон или джава медленнее крестов


Вот и выросло поколение, учившее программирование по мемам
324 1392311
>>392232
>>392301
Школуйня, ты хоть на сайт слесарьплова сходи или пейпер по нему почитай. Там все вычисления организованы в виде графов. Как и в любом другом подобном софте.
325 1392409
>>392308
Так жаба ведь и правда медленее. Даже пщ быстрее жабы.
326 1392410
Здравствуйте, мне в шараге дали задачу восстановления регрессии нейронной сетью. Требуется выявить и прогнозировать зависимость y = f(x1,...,x14), где y - уровень загрязнения воздуха, а x1...x14 - это количественные переменные влияющие на y. Я особо не разбирался в этой теме, просто взял в шараге набор данных про эти загрязнения в Excel на 25000 примеров. Сконвертировал в csv затолкал в Keras. И все, казалось бы радуйся. Дело сделано, мавр может уходить. Happy end. Но нет. Дело в том, что когда я показал на кафедре свое решение. То кафедральные преподаватели меня начали спрашивать - мол нахуя тебе нейросеть? Почему нельзя применить обычные математическое методы восстановления регрессии? На эти вопросы я ответить не смог, потому что препод который ставил мне задачу, сказал мне делать именно нейросеть, потому что это кайфово, молодежно и вообще. К тому же этот препод не шарит в методах восстановления регрессии, он просто слышал про нейросеть и решил, чтоб я такую сделал. Теперь поздняк метаться, препод уже давно зафиксировал за мной задачу с нейросетью и заполнил университетские бумажки. И поэтому я должен усраться, но доказать, что нейросеть в данном случае лучше математических методов восстановления регрессии(даже лучше, чем SVR и Gradient boosting)

Подскажите, пожалуйста, как доказать, что нейросеть лучше, чем SVR и Gradient boosting?
Могу ли я применить SVR и Gradient boosting из примеров scikit-learn на своем наборе данных, получив точность 94%? А затем взять keras и нахреначить огромную нейросеть с кучей нейронов, выжать точность 98% и потом заявить, что нейросеть очень точная? АЖ НА 4 ПРОЦЕНТА! И поэтому она лучше! Можно так сделать? Или это неправильно и не по понятиям?
327 1392432
>>392410
Один перцептрон и есть линейная регрессия. Каким способом керас высчитывал ошибку? Методом наименьших квадратов?
328 1392445
>>392410
Посчитай разными методами, сравни точность. По-другому пердунам не докажешь.
15366506988230.png5 Кб, 259x195
329 1392449
>>392410
Gradient boosting is a machine learning technique for regression and classification problems, which produces a prediction model in the form of an ensemble of weak prediction models, typically decision trees. It builds the model in a stage-wise fashion like other boosting methods do, and it generalizes them by allowing optimization of an arbitrary differentiable loss function.
Gradient boosting can be used in the field of learning to rank. The commercial web search engines Yahoo[13] and Yandex[14] use variants of gradient boosting in their machine-learned ranking engines.
330 1392548
нейросети скоро порешают моделей
сколько ещё профессий они убьют прежде чем дойдет до программистов?

https://2ch.hk/news/res/5056490.html (М)
331 1392568
Почему байезианцы так не любят машоб?
332 1392593
>>392548

>сколько ещё профессий они убьют


Нисколько, бесполезное говно потому, что
1325786671574.jpg8 Кб, 200x191
333 1392605
334 1392632
>>392410
Судя по твоим словам, подозреваю, что у тебя ебический оверфит и на самом деле нихуя не работает, и об этом преподы и спрашивают.
335 1392687
>>392432

>Один перцептрон и есть линейная регрессия


Там, вроде, нелинейная регрессия, multiple linear regression дает 0,74 эр квадрат, но зато нейросеть, gradient boosting и SVR дают 0,94-0,98.
Спасибо за пост с упоминанием линейной регрессии, значит я лоханулся, и мне надо выпилить слово "зависимость" и выпилить обозначение у=f(x1,...,x14), а то можно подумать, что там функция и линейная зависимость. Это просто я написал неправильно, пытаясь передать смысл.

>Каким способом керас высчитывал ошибку? Методом наименьших квадратов?


Да, так

>>392445
Благодарю, так и хочу сделать, но выходит, что я не по понятиям поступлю, если мне надо выгородить нейросеть, то я должен сделать вид, что она чуть-чуть точнее. И я не знаю, можно так или это слишком толсто - без разбора применить SVR, gradient boosting, скопипастив примеры из интернета, получить 0,94 эр квадрат, а над нейросетью усираться, подбирай параметры и количество слоев и нейронов, чтобы сделать 0,98 и сказать СЕТЬ-ТО ТОЧНЕЕ ОЛОЛОЛО!

>>392632
Да, вроде, нет. Тестовые данные же не участвуют в обучении. Преподы спрашивают у меня - зачем нейросеть, если есть методы машинного обучения, которые предназначены для восстановления регрессии. А я не могу ответить, потому что лоханулся с заданием и мне его уже оформили как "нейронная сеть" и поздно метаться. И теперь выходит, что я должен каким-то образом высосать из пальца причину почему нейросеть лучше SVR и gradient boosting'a
336 1392692
>>392687
эр квадрат - это RMSE?
337 1392701
>>392692
r2_score прогнозов по тестовым данным и соответствующих правильных ответов
338 1392780
>>392687

>я должен сделать вид, что она чуть-чуть точнее


ну вообще нейросеть должна быть точнее

>над нейросетью усираться, подбирай параметры и количество слоев и нейронов


это нормально, все так делают
339 1392827
>>392687
Ну блэд, это наука. Если данные не подходят под твою концепцию, значит тем хуже для данных.
Делаешь фактическое сравнение методов. Если какой-то метод лучше нейросети, меняешь датасет так чтобы он был хуже нейросети.
340 1392898
>>392780
>>392827
Понял, спасибо большое
Screenshot6.png50 Кб, 1189x352
341 1392937
Я правильно понял, что на пикриле происходит типичнейшее переобучение?
Обучаю очень здоровую сеть на достаточно малом наборе данных 10к образцов, без регуляризации.
Я верно понял, что сеть тупо запоминает всю обучающую выборку и не вычленяет действительно полезные признаки из нее?
342 1392977
>>392937
Да, это переобучение. А что за задача?
343 1392990
>>392977
Котов от собак отличить
344 1392991
>>392977
Классификация изображений.
345 1392992
>>392991
Сколько классов? Готовый аппликейшн взял небось?
346 1392994
>>392992
200 классов, готовый resnet50 с полностью замороженой основой, обучается только полносвязный слой.

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

Vgg с 10кк тренируемых параметров нормально обучалась без переобучения, тут 2 ляма параметров - переобучение.
Не должно так быть
347 1392999
>>392994
Дропаут попробуй вставить.
Можно применить глобальный пулинг к карте признаков (в керасе при импорте прямо можно указать).
Опять же предобработка изображений (preprocess_input).
Не птицы часом?
348 1393012
>>392994
Возможно, перескакивает минимум функции потерь. Попробуй поиграться с моментумом оптимизатора, понизить lr.
349 1393044
>>393012
Если бы он минимум функции потерь перескакивал, у него бы на обучении хуйня творилась, не?
350 1393050
>>392999

>Дропаут попробуй вставить.


А толку? Будет действовать только на полносвязный слой.
К тому же, есть аугментация изображений.

>preprocess_input


Стоит keras.applications.resnet50.preprocess_input.

> глобальный пулинг к карте признаков


Стоит model.add(layers.GlobalAveragePooling2D()), это оно?
351 1393051
>>393012
Игрался с lr, толку пока нет на этой сетке.
Мометум стандартный стоит, это да
352 1393054
>>393050

>


> К тому же, есть аугментация изображений.


Проверь, что она корректно работает. А то может все изображения там ломаешь, вот с нормальными оно и не работает потом
353 1393056
>>393050

>Будет действовать только на полносвязный слой


Так ты же только его и обучаешь, разве нет? Или что значит "с полностью замороженной основой"?
354 1393058
>>393054
Работает корректно, гонял уже с другими сетками, где все норм.
355 1393060
>>393056
Да, только его и обучаю.
Ну, я прост думаю, что раз сеть запоминает всю обучающую выборку, то дропауты на полносвязном слое уже не помогут.
Если бы там были дропауты между conv-слоями, то был бы толк.
356 1393067
>>393060
Если у тебя нижние слои фиксированы, то они, очевидно, ничего не "запоминают" (что за корявое слово, выборку разве что методы ближайших соседей запоминают и методы, использующие ядра), это некоторое константное преобразование входа, всё переобучение происходит на полносвязном слое.
1395493136311.jpg19 Кб, 421x404
357 1393069
>>393067

>Если у тебя нижние слои фиксированы, то они, очевидно, ничего не "запоминают"


Блять, действительно, какой же я даун.
358 1393070
Тогда в чем дело, у меня во всех сетках абсолютно одинаковый полносвязный модуль.
Меняется только сверточная основа.
Почему vgg16 обучается, а resnet50, xception и inception нет?
359 1393072
>>393070
Может, из-за размерности карты признаков? У vgg16 на выходе 512 фильтров, т.е. карта признаков для входного изображения 224 x 224 будет 7 x 7 x 512, при применении global average pooling - просто 512. Не знаю, что у других, но наверняка больше.
360 1393090
>>393072
У resnet 2048.
Чет мне не кажется, что дело в этом.
Может в preprocess_funciton?
Использую стандартные для каждой сетки.
361 1393099
>>393090
Не знаю. Хотя, кстати, у меня есть подозрение, что preprocess_input - это in place функции, т.е. они ещё и аргумент меняют.
362 1393108
>>393099
Да!
2 новости, хорошая и плохая:
1. Я, кажется, нашел в чем была проблема. Таки в препроцессинге.
2. Я настолько тупой, что понял это только сейчас, а остальные 200 экспериментов провел некорректно.

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

Еще один вывод. Предыдущие сети (на основе vgg16) обучались даже несмотря на хуевый препроцессинг.
Это возможно по двум причинам:
1. Этот итоговый препроцессинг подходил vgg16 и был близок к ее нормальному препроцессингу.
2. Если достаточно долго обучать сеть, особенно дообучать верхние слои, то постепенно она пристроится к твоему препроцессингу (хотя, конечно, это полная хуйня, так делать не надо)
363 1393165
Kurwa, ja pierdole
Нашел только на 1 пике и то 3/5
364 1393166
>>393108

>Если достаточно долго обучать сеть, особенно дообучать верхние слои, то постепенно она пристроится к твоему препроцессингу


Это как бы очевидно.
365 1393219
>>393108

> 1. Я, кажется, нашел в чем была проблема. Таки в препроцессинге.


А я говорил.
366 1393405
Тэк. А теперь попробую нарезать лица пошире
367 1393448
>>393405
Что ты хочешь сделать?
368 1393494
>>393448
->
>>391867
Сейчас пробую dlib
369 1393525
Куда пропали приложения типа fakeapp? То логина требуют, то просто забанено и удалено
370 1393552
>>393525
Ты бы хоть описал, что за приложение и что оно делает
371 1393594
>>393552
Ну тип лица подменяет
372 1393692
>>393525
Это же считай оружие в информационной войне. Серия грамотных вбросов может спровоцировать все что угодно от пынягейта / хуйзнаетчегогейта до реальной ядерной войны. Маск говорил, что ИИ может такую хуйню организовать. Но на это же способны террористические организации, нанявшие хакеров. И все, пиздарики человечеству или как минимум отдельным странам.
15563545425390.jpg97 Кб, 720x480
373 1393851
>>393692

>Маск говорил

1271678657738s.jpg17 Кб, 200x200
374 1393916
Можно ли в автокодировщике встроить слой субдескритизации во время считывания изображения, а потом увеличить размерность обратно?
375 1393943
Бамп
376 1393947
>>393851
И что не так? Маск Небоходец святой.
377 1393999
>>393219
>>393166
До сих пор хуею, какой я дегенерат.
Как исправил эту критическую неисправность в корявом препроцессинге, все сети с пол-тычка сразу стали обучаться нормально, как от них и ожидается.
ZoUYFVxv1YU.jpg58 Кб, 780x1040
378 1394008
Пацаны, хз, сюда это или нет.
Задача: есть монеты на фото. Нужно определить их количество.
Куда копать? Есть готовые решения?
379 1394019
>>394008
Не актуально
380 1394040
>>393916
Конечно. U-Net это и делает.
381 1394045
Как оптимизировать гиперпараметры?
Какой оптимизатор ставить, какой learning rate, моментум и другие гиперпараметры?
В книжке, что я читал, об этом тактично умалчивается, говорят лишь: "Ну это молодая область, хуй знает короче, в целом, большинство использует метод квадратно-гнездового тыкинга".

Но это хуйня же. Наверняка есть способы
382 1394063
Сколько инстансов одновременно можно запустить на кагле?
14196232147433.jpg27 Кб, 354x364
383 1394088
Почему некоторые сети показывают на моих данных более лучшие результаты, чем другие?

Причем логика вообще какая-то ебанутая.
VGG16 - почти топ, лол, хотя это очень старая и простая по нынешним меркам есть.
Получше Xception.
Inseption и Resnet показывают результаты хуже чем vgg.
Щас для лулзов запустил MobileNet - еще лучше vgg оказалась.
384 1394105
>>394088
Чем больше параметров, тем больший датасет нужен
385 1394194
>>394045
Ставь по умолчанию и не выёбывайся, потом, если будет желание, можешь с ними поковыряться ради сотых долей процента.
386 1394215
>>394045
Grid search, random search, последовательно перебор, байесова оптимизация вот методы, которые используют на практике. Ну и LR динамически нужно уменьшать.
387 1394224
>>394215
Используются они только в классическом ml, в DL слишком долго и дорого, там с гиперпараметрами почти не играются в реальных задачах
388 1394235
>>394224
LR предпочтительнее уменьшать на плато. С числом нейронов и архитектурой почти всегда играются, аугментации подбирают, коэффициенты дропаута и l2 регуляризации подбирают. Так что используется.
389 1394238
>>394194
Я тупо оптимизатор поменял и это +5% дало
390 1394284
>>394045

> Как оптимизировать гиперпараметры?


Байесова оптимизация решает. Буквально вот эта поебота https://github.com/fmfn/BayesianOptimization берется как черный ящик и вперед

>Какой оптимизатор ставить


адам

>какой learning rate


1-e4

>Но это хуйня же. Наверняка есть способы


Способы итеративные. Сначала, когда не знаешь, обучается оно или нет, используешь консервативные стратегии: lr поменьше, можно тупой как валенок SGD, и добиваешься постоянного убывания лосса. Дальше ты видишь, что лосс убывает, но как-то медленно, бесконечно медленно, неделю нужно ждать, врубаешь adam и заставляешь эту хуйню работать. Дальше понимаешь, что в конце концов обучение упирается во что-то и тебя этот уровень не устраивает, пробуешь разного рода стратегии переменного lr. Лично я юзаю шаманство отсюда https://www.fast.ai/2018/04/30/dawnbench-fastai/ , и получаю ровно то, что там пишут, обучение на порядок быстрее.
Но вообще правило такое, что если SGD с медленным lr не обучается (даже гипермедленно), играться особого толку нет, надо чинить архитектуру.
391 1394368
>>394284

>Лично я юзаю шаманство отсюда https://www.fast.ai/2018/04/30/dawnbench-fastai/


One cycle policy? Слышал про него, в ближайших планах попробовать.
Пока тупо юзаю уменьшение LR на плато, помогает повысить точность процентов на 5-7.
Еще, не знаю почему, но замена adam на простой SGD дала еще +5%.
392 1394420
Сразу извиняюсь на, наверное, глупый вопрос. Передо мной стоит задача классификации, при этом 2 из 3 признаков — это строки. Как с этим работать? До этого решал только такие задачи, где все признаки — это числа. Фреймворк — пайторч, если это как-то влияет.
393 1394423
>>394420
Нужна модель с несколькими входами.
Для обработки текста используются свои архитектуры.
Можно сделать именно несколько входов, они будут обучаться совместно, а можно тупо ансамбль сделать, вынеся обработку текста в отдельную сеть, но это будет менее эффективно, ибо по сути, текстовая сеть будет обучаться в отрыве от остальной.
нубас
394 1394435
>>394423
Спасибо. Видимо, мне этим ещё рановато заниматься.
1394401295674.jpg25 Кб, 454x546
395 1394537
Что такое "переобучение" блять? Я ничего не понял.
Это когда точность перестает улучшаться на валидационных данных. Да?
Или когда точность на валидационных данных начинает падать по отношению к точности на тренировочных?

Так вот, второй пункт у меня вообще всегда наблюдается. Всегда в итоге сеть на тренировочных данных уходит в 99%, а на проверочных - уж как пойдет.
396 1394544
Мимо проходил, извиняюсь за тупой вопрос.
Но есть ли однокнопочные программы, в которой я указываю путь до своего пака с Чёрным Властелином, сеточка обучается, делает магию и начинает выдавать мне новых Чёрных властелинов?
397 1394546
>>394544
Есть те, что с двумя путями, в один кладешь ЧВ, в другой все остальное.
398 1394551
>>394546
Как я понимаю, это классификаторы, которые будут мне говорить, насколько процентов этот Фотошоп похож на ЧВ. А я бы хотел генератор, по типу дипдреамс, который мне хоть на рандомный шум нарисует Чёрного Властелина во всей его красе, которым не стыдно вайпать неугодный тред.
399 1394553
>>394551
Однокнопочных програм нет, а теперь уебывай обратно в бэ
400 1394578
>>394553

>Однокнопочных програм нет, а теперь уебывай обратно в другой топик программача


Спасибо за информацию.
401 1394655
Fastai сила, Keras могила?
1557087807337.jpeg4 Кб, 650x812
402 1394672
>>394655
Положняк:

Top tries: Keras API with TF/Torch backend
Mid trier: ю plain TF, plain Torch
Shit trier: - Deeplearning4j, Caffe, Theano, MXNet, Matlab
Ultra shit trier: визуальное конструирование сетей мышкой в браузере (azure machine learning и прочее), ненужные надстройки над существующими фреймворками (в том числе Fast.ai), starter pack'и, шаблоны "для любой задачи" и прочие васяноподелки с гитхаба
kitten icecream.jpg116 Кб, 1070x1070
403 1394673
>>394672
Почему в keras'е нет встроенного ony cycle policy как в fatai, а есть только васяноподелка на гитхабе?
404 1394676
>>394673
Потому что Keras - это стандарт API для библиотеки машинного обучения, который реалищуют и другие библиотеки. Туда не нужно тащить каждую модную штуку из свежей публикации. Пройдёт время и станет ясно, что какая-то штука точно необходимая и без неё никак нельзя - добавят. Менять же стандарт каждый месяц - получишь совсем адский ад, примерно как в мире js и веб-макакинга, где каждый месяц проекты на новую модную библиотеку переписыают.

> ony cycle policy


Есть в keras-contrib, он для этого и существует как инкубатор.
405 1394905
Для чего сейчас больтцман и хопфилд применяются?
406 1394910
>>394905
В реальной жизни не применяются
407 1394967
>>394672
А как же PyTorch, chainer, cntk и прочее?
408 1394970
>>394905

>больтцман и хопфилд


Их заменил Жопеншмульцер
409 1394980
>>394544
GAN это оче тёмное колдунство, которое работает через раз, так что вряд ли ты что-то такое найдёшь
410 1395308
>>394676

>Есть в keras-contrib


Но ведь нету, не пизди
411 1395310
>>394672
Керас для казуалов. Тру пишут графы в тензорфлоу.
412 1395313
>>395308
Что ты как маленький
for batch in range(number_of_batches):
K.set_value(generator.optimizer.lr, lr)
generator.train_on_batch(....)

Две строчки всего, а столько нытья
413 1395320
>>395313
Ващет там все несколько сложнее
1.png58 Кб, 804x515
414 1395475
Подскажите библиотеки с готовыми сгенерированными данные по типу sklearn.datasets.samples_generator. Чтобы они были разделены разными способами. Еще подсказали, что в tf.data есть, но не могу найти, возможно, не там смотрю
415 1395618
>>394910
А марков и HMM?
416 1395621
>>373612 (OP)
Ребят, читаю того же Николенко и параллельно Гудфеллоу и застрял на математическом введении. Пытался проскакать галопом по статистике и линейной алгебре по спецучебникам, но делу это не особо помогло.

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

Я студентота второго семестра, биоинформатик. Зачем я в это хочу вникнуть? Просто любопытно, как эта хуита работает и с чем ее едят.
417 1395624
>>395621
Там не так много математики, если ты не исследованиями планируешь заниматься. Линейная алгебра, основые дискретные и непрерывные распределения из матстата, баесовский вывод, численные методы и оптимизация, свойства функций из матана. Все пожалуй.
418 1395626
>>395618
Да, в nlp постоянно. Но скоро будут заменены глубокими e2e
419 1395627
>>395621
Этот хорошо разжевал.
https://youtu.be/adsSwIcvfD0
Вторая его лекция тоже норм. Третья резко стала сложной.
420 1395636
>>395624>>395627
Ну так как вкатиться к вам, если уже работаешь в ойти?
421 1395651
>>395636
Никак, в этой сфере желающих вкатится дохуя, а вакансий не требующих реального опыта почти что нет.
422 1395654
>>395624

>Линейная алгебра, основые дискретные и непрерывные распределения из матстата, баесовский вывод, численные методы и оптимизация, свойства функций из матана


Потому удивляются, что это говно не работает.
423 1395655
>>395651
А ты как вкатился?
424 1395657
>>395655
Через постель
425 1395665
>>395636
Устраиваешься в какой-нибудь сбербанк и дальше крутишься
426 1395671
>>395627
Спасибо! Гляну-с.

>>395624
И тебе спасибо.
427 1395673
>>395665

>Устраиваешься в какой-нибудь сбербанк


Ух, вот ещё мне этих бюрократии, дресскода и жёсткого графика с 8 до 5 не хвататло.
428 1395675
>>395673
Ну соси хуй безработным, хули
429 1395698
>>395675

> безработным


>если уже работаешь в ойти


А ты не очень умный, да?
430 1395713
>>395698

>А ты не очень умный, да?


А иначе зачем ещё я бы сидел ИТТ?
431 1395715
>>395713
Делится опытом и просить совета, например?
432 1395718
>>395713
>>395715
Вы еще поебитесь тут, голубки.
433 1395722
Чому никто не говорит об svm? K-means? Слишком просто? Не нужно? Почему никто не обсуждает imbalanced data? Dataset shift? Overfitting? От качества исходных данных зависит чуть ли не 99% результата.
434 1395727
>>395698

> безработным


>если уже работаешь в макдаке

15402964055100.jpg148 Кб, 994x745
435 1395732
>>395722

> Чому никто не говорит об svm? K-means?


Сойбои на коворкинге засмеют. Не модно это.
436 1395733
>>395727

>проекции счётчика бигмаков

437 1395742
>>395733
Блядь, какой же ты тупой. Хули толку от того что ты работаешь в ойти, если спрашиваешь про ML. Единственный более-менее не расчитанный на везение вариант - устроиться в фирму с ML и далее потихоньку горизонтально перебраться. Ты много знаешь контор, где есть дефицит ML специалистов? Я - нет.
Что касается меня, у меня в резюме уже несколько ML проектов и проблем с трудоустройством нет.
438 1395745
Поясните за аудиофайлы. Какие из них извлекают признаки, где об этом почитать, в каких библиотеках реализовано? Я в общем то хотел запилить что-то типа генератора узоров под музыку типа как во всяких проигрывателях.
И ещё, чисто из любопытства. А есть ли классификаторы, определяющие по музыке её жанр?
439 1395748
>>395745
Обычно STFT спектрограмму смотрят, в распознавании речи фичи пофичастее используют. А генераторы узоров это как правило спектроанализатор подключенный к рисовалке красивостей, никакого ML.
Классификаторы на гитхабе посмотри, по мне классификация звуков это самая скучная задача, не стоящая времени
440 1395751
>>395742

>Блядь, какой же ты тупой.


Нет, ты.

> устроиться в фирму с ML и далее потихоньку горизонтально перебраться


Спасибо, капитан. Так и делаю, но на это нужно время.
Я уж думал что побыстрее есть.
Раз ты Ыксперт, расскажи, пожалуйста, какие есть проекты, есть ли там что общее или в каждом будет упор на что-то своё?
И что насчёт карьерных перспектив с твоей точки зрения?
441 1395755
>>395732

>На пике ни одного голубоглазого господина


Я рад
442 1395756
>>395742
Что за проекты, можешь кратко рассказать
443 1395768
>>395751
>>395756
Сосите хуй, быдлы.
444 1395769
>>395768
ыыыыыыыыыыыы
445 1395779
Истина проста, норм спец нужен везде. Учите лучше
446 1395781
>>395748
Ок, спасибо.

>никакого ML.


Да я в курсе, но мне показалось, МЛщики должны знать про извлечение признаков из аудио. Кстати рисовалки красивостей как устроены?

>Классификаторы на гитхабе посмотри


Даже не знаю, что там в поиск забивать.

> по мне классификация звуков это самая скучная задача, не стоящая времени


Почему? Делаешь кроссвалидацию и подгоняешь гиперпараметры, как и весь остальной МЛ.
orig95127955cf33aacdc41e8a09b7965444.png1,4 Мб, 704x1002
447 1395892
Это правда?
448 1395910
>>395892
Россия - родина слонов
449 1395941
>>395892
А ты думал ИИ это технологии 2019 года?
103865.gif100 Кб, 500x634
450 1395946
451 1395977
>>395892
Нейросетки развиваются с 60-х так, что да.
452 1395981
Бумп
453 1396045
>>395977

>развиваются


хихихи
454 1396053
>>396045
Скоро тебя зохавают.
455 1396059
>>396045
CNN + Backprop - это определенный прогресс по сравнению с персептрон+правила хеба
1557223183150723821.jpg132 Кб, 700x875
456 1396069
>>396059

>определенный прогресс


Что тогда ни хуя не распозновало, что сейчас.
457 1396332
Почему при маленьком batch size'е сеть обучается медленно, а при большом - быстро?
458 1396354
>>396332
Потому что градиент при большом батче ближе к "настоящему" градиенту, очевидно же.
459 1396359
>>396354
Ты ща допиздишься до того, что BFGS лучше чем SGD
460 1396477
Почему сеть показывает нормальный рейт на валидационных данных (не тренировочных), но плохой на тестовых данных, которые она вообще ни в каком виде ни разу не видела?

Это что, неявное переобучение на валидационных данных?
Пока я дрочил архитектуры и гиперпараметры, сеть таким образом получила слишком много информации из валидационных данных?
461 1396484
>>396477
Да может быть и такое, плюс проверь какие у тебя данные на тесте, возможно они из другого распределения
462 1396628
>>373612 (OP)
Пока нейроночки обучаются, го в жопы няшится!
1392369284673.jpg70 Кб, 600x800
463 1397002
Дайте one cycle policy для keras
464 1397005
>>397002
Я тебе дал, но ты сказал, что тебе мало. Если тебе и этого мало - ты очень тупой и тебе рано в deep learning. Впрочем, ты правда тупой, если до сих пор просишь.

max_lr = 2e-3#величина подбирается под сетку плавным ростом lr до максимальной величины
min_lr = max_lr/4
lrs = np.interp(range(200000), [0, 50, 100], [min_lr, max_lr, min_lr], period=100)#у меня пила с шагом 100 вместо one cycle policy, но можно нарисовать любую кривую lr

lrIdx = 0

for epoch in range(number_of_epochs):
....for batch in range(number_of_batches):
........K.set_value(setochka.optimizer.lr, lrs[lrIdx])
........lrIdx = lrIdx + 1
........setochka.train_on_batch(..., ....)
....#здесь можно повалидировать

Вот и все.
465 1397007
>>397005
Спасибо, но как я и писал, там все несколько сложнее.
Меняется не только lr, но и моментум + weights decay.
Плюс изначальные параметры подбираются не отпизды, а другими простыми алгоритмами.
Плюс в конце lr затухает полностью, что с другими параметрами уже не помню.

Вот я и ищу уже готовую реализацию этой хуйни как в фаст.аи.
466 1397011
>>397007

>Меняется не только lr, но и моментум + weights decay.


Это 4 строчки к моему коду. В частости заменить Adam на AdamW, который есть на гитхабе для keras

>Плюс изначальные параметры подбираются не отпизды, а другими простыми алгоритмами.


Ага, что написано в моем комменте.

>Плюс в конце lr затухает полностью, что с другими параметрами уже не помню.


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

>Вот я и ищу уже готовую реализацию этой хуйни как в фаст.аи.


Да ты просто похоже поверил в мемасики про import slesarplow и уверен, что на все должен быть подобный скрипт. Проблема в том, что если ты подобные простейшие вещи не можешь сделать, как ты исследовать будешь? Одно дело найти на гитхабе реализацию ради экономии времени. А другое дело ныть неделю будучи неспособным написать 10 строчек кода школьного уровня. Пиздец какой-то.
14202838325640.jpg18 Кб, 480x360
467 1397126
>>397011
да, я тупой.
468 1397131
>>397126
Го в жопу еяшится?
470 1397173
>>397145
Чому? Нейронки ты всеравно не осилишь
471 1397184
>>397173
Так я и твой хуй не осилю
472 1397195
>>397184
Зато я осилю твою жопу.
Нагибайся.
473 1397338
>>397195

>Нагибайся


Жестко отожги мой анус градиентным спуском!
474 1397378
>>397338
Адаптивным или стохастическим?
15402964055100.jpg148 Кб, 994x745
475 1397386
ЛГБТ зумерки не могут в машоб. Алсо, этот ваш ЛГБТ диплернинх это вообще не машинное обучение, а сойбойство простое и понты. Практического применения у этой хуйни нет - негров так и не распознает нормально, а разрисовывание котиков под Пикассо, генерация несуществующих гуков, сельдей и котов уже всем поднадоела, практической же ценности у этой хуйни нет. А у чего есть, то запрещают вовсю, например, подстановка фейковых еблетов на видео, файндфейсы итд. Так что остаётся вам друг другу жопы дергать, а самым успешным - писать рекламную малварь в рекламной параше Яндекс.
476 1397387
>>397386
Файндфейс теперь с ментами работает.
sage 477 1397504
>>397386
Привет, шизик
478 1397585
>>397386
А подкрепление совсем не развивается?
Screenshot20.png69 Кб, 1887x760
479 1397587
Хуле там вместо графической памяти прочерк?
Это что, инстансы без видеокарты?
480 1397632
>>395748

>по мне классификация звуков это самая скучная задача


Да ну, по-моему ничего интереснее временных рядов в машобе нет. Ну и рл, но это другая опера.
481 1397681
>>397632
Да, но ничего скучнее классификации нет.
482 1398066
Так почему всё-таки глубокое обучение работает сильно лучше однослойных перцептронов?
483 1398199
>>398066
Глубокое - несколько слоев перцептронов. Закон перехода количества в качество.
484 1398327
>>398199

>Закон перехода количества в качество.


Ну а научное объянение какое-нибудь есть?
485 1398336
>>398066
Перцепирон не может в xor
486 1398348
>>398327
Полносвязный слой (перцептрон) может эмулировать работу любого другого слоя.
Всякие специализированные слои - лишь урезанные версии перцептрона.
Таким образом, любая современная сеть - это несколько перцептронов.
487 1398349
>>398348
Это всё понятно, вопрос же - почему некоторые задачи удалось решить только наращиванием специальных слоёв.
488 1398390
>>398349
Удачный выбор эвристики слоев - свертки и пулинги, которые были навеяны нейробиологическими исследованиями.
489 1398434
>>398066
Потому что один слой может решать только линейно разделимые задачи. Пиздуй читать cs231n
490 1398441
>>398434
Одному слою можно поставить нелинейную функцию активации и он будет решать не линейные разделения.
491 1398459
>>398441
Не будет. Функция активации просто растягиевает-сжимает пространство вдоль осей после применения преобразования пространства матрицей. Ключевой момент тут - после, а не до. То есть, если у тебя есть допустим функция
y=f(W x + b)
И ты считаешь, что y>0 это один класс, а y<0 - это другой. Но тогда
f(W x + b) > 0 это то же самое что
W x + b > f^-1(0)
То есть ты применяешь функцию, обратную функции активации, к нулевому вектору (получишь либо вектор из нулей, либо вектор из 0.5 - короче какую-то константу) и дальше получаешь линейный класстификтор W x + b
Вот когда у тебя два слоя, все становится веслее, так как после применения функции активации ты скармливаешь следующему линейному слою уже нелинейно искаженное постранство.
492 1398460
>>398459
блять сложно сука, машоб это - import keras as np, а у тебя сатанистская хуйня какая-то
493 1398489
>>398459
А для для других задач машоба?
494 1398491
>>398459

>f(W x + b) > 0 это то же самое что


>W x + b > f^-1(0)


Это, во-первых, бессмыслица, во-вторых даже в одномерном случае верно только для монотонной f.
495 1398560
>>398489
Для других задач функция активации тебе даст немного больше свободы и формально нейронка будет нелинейной (то есть f(x+y) != f(x)+f(y) ), но в целом из-за того, что она применяется поэлементно, особой выразительности в этом не будет.
А когда функция активации применяется не поэлементно, то ты и получаешь многослойную нейронку. Каждый слой это такая ебическая функция активации для предыдущего слоя.
Вот тут много картинок http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/ , они не совсем по этой теме, но дают аппарат для воображения понимать как именно что работает
496 1398634
>>398560
Из того что там написано как раз следует что одного скрытого слоя достаточно.
497 1398661
>>398634
Один скрытый слой - это два слоя, скрытый и выходной, и случай не f(W x + b) , а W1 f(W0 x + b0) + b1 и на этом действительно можно построить нелинейный классификатор. Только за такое и в ебасос получить можно.
498 1398671
>>398661

>Только за такое и в ебасос получить можно


Что не так?
499 1398673
>>398661
Погоди, так перцептроном вроде и называют сеть с одним скрытым слоем минимум. Вопрос то про него и был, без скрытых слоёв это просто логистическая регрессия.
500 1398679
Да, блять, наконец-то.
Смог заставить выполняться сеть в ебаном докере на сервере.
Последние версии tensorflow не будут работать с виртуальным процессором. Tensorflow также в принципе не работает с питоном 3.7, макс 3.6.
501 1398752
>>398679

> Tensorflow также в принципе не работает с питоном 3.7,


Всё отлично работает. И в актуальной стабильной и в альфе 2.0
502 1398886
>>398673
Ок, тогда правильный ответ про ебасос.

>>398671
Представь себе табличку с колонками вида x1 x2 x3 x4 y. Дальше ты пишешь код в котором интерполируешь хуйней типа nearest neighbor:
yoba(табличка, x) {
x' <- ближайший x в табличке
return табличка[x']
}
Вот с помощью такой таблички можно аппроксимировать функцию с любой точностью, если табличка будет достаточно большой. А значит ты можешь с помоьщю такой табличке проаппроксимировать даже тысячеслойный resnet. Делов-то берешь все возможные варианты картинок 255х255х3, то, что resnet выводит на каждую картинку, и все заебись.
Вот однослойный персептрон, с помощью которого можно аппроксимировать любую функцию, недалеко от такой таблички ушел. Да, в теории с его помощью можно аппроксимировать любую функцию (а значит любая глубокая нейронка может быть представлена в виде однослойного аналога с тем же количеством входов и выходов). Но на практике он будет, во-первых, очень широким. Экспоненциально широким. Возможно даже не влезет в размеры вселенной.
Во-вторых, в ML нас интересует не сама результирующая функция, которая бы тупо равнялась каким-то конкретным значениям в узловых точках, а ее поиск, чтобы он не просто протабулировал твой трейнинг сет, а чтобы он еще и правильно работал на валидейшене. Для этого либо его структура должна быть такой, чтобы закладывались какие-то инварианты, либо твой алгоритм обучения должен эти инварианты накладывать. А у однослойного перспектрона нихуя инвариантов нет. Все влияет на все.
503 1398929
>>398886

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


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

>Экспоненциально широким. Возможно даже не влезет в размеры вселенной.


Да не, достаточно взять слой из N+1 нейрона для N нейронов на входе. С математической точки зрения.
504 1398941
>>398929

> по какой фундаментальной причине именно стаканье слоёв помогает.


Там не простые слои. Обычный перцептрон с десятками слоёв будет просто все усреднять и нихуя им не аппроксимируешь. А в этом вашем ЛГБТ диплернинхе стыкуют по-сути неокогнитроны и свёртки по очереди через один слой. Очевидно, что десяток стыкованных неокогнитронов даже без сверток лучше чем один. К перцептрону в смысле изначальной розенблаттовской модели это все относится очень опосредованно.
505 1398955
>>398941

>стыкуют по-сути неокогнитроны и свёртки


Ну это же работает только для каких-то задач.
sage 506 1398956
>>398941
Шизик, иди нахуй.
507 1398971
>>398929

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


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

Но любой объект реального мира, с которым работает человек, ведет себя как решение каких-то дифференциальных уравнений и локально подчиняется каким-то простым правилам, последовательно применяемым друг к другу. Скорее всего причина в антропном принципе, если бы физические законы не были просты, то и разумной жизни не могло бы возникнуть. Соответственно идеальный предсказатель должен выглядеть как численный решатель какого-либо дифференциального уравнения. И решения крайне редко выглядят как sum(alpha(Wt+phi)).

На самом деле согласно последней статье про lottery ticket (https://arxiv.org/abs/1803.03635) ширина тоже важна для хорошего initial guess, но без глубины ты нужной мощности точно не получишь.

>Да не, достаточно взять слой из N+1 нейрона для N нейронов на входе.


Исходя из этого, ты можешь аппроксимировать любую одномерную функцию с помощью двух параметров. Это нонсенс. Если ты скажешь, что у тебя хитрая функция активации, то в которую ты спрячешь всю сложность, то функция активации сама по себе одна и та же для каждого выхода, и нонсенс получается уже в двумерном случае.
508 1399117
>>398971

>Соответственно идеальный предсказатель должен выглядеть как численный решатель какого-либо дифференциального уравнения. И решения крайне редко выглядят как sum(alpha(Wt+phi)).


>На самом деле согласно последней статье про lottery ticket (https://arxiv.org/abs/1803.03635) ширина тоже важна для хорошего initial guess, но без глубины ты нужной мощности точно не получишь.


Ну блин это все философия какая-то. Т.е. насколько я понял до сих пор не известно.
509 1399193
>>398327
Есть теорема Колмогорова, что композиции линейных комбинаций и нелинейной функции одного переменного уже при вложенности 3 могут аппроксимировать любую заранее заданную непрерывную функцию, но я боюсь призвать шизика. Ну и плюс оказывается, что большие сетки с удачно подобранными архитектурными фичами (свёртки, гейты в LSTM, механизм внимания) начинают на достаточно больших наборах данных извлекать себе признаки.
510 1399198
>>398491
Много знаешь немонотонных функций активации?
511 1399221
>>399198
В общем nмерном случае монотонность по каждому аргументу в любом случае ничего не говоритю
512 1399240
>>399193

> Есть теорема Колмогорова,


Которая гласит, что функция многих переменных может быть аппроксимирована суперпозицией функций от двух переменных?
513 1399273
>>399117

>Т.е. насколько я понял до сих пор не известно.


Это - известно. Глубокие нейронки выразительнее широких с тем же числом параметров. Почему я написал.
Неизвестно другое - почему обучение градиентным спуском так хорошо работает. Есть предположения, но они не доказаны.
514 1399756
>>387620
Спасибо огромное, мудрый анон
515 1400451
Посоны, спасайте
Решаю одну несложную задачку по построению регрессии
Необходимо предсказывать действитлбное число от -1 до 1
Запилил простенькую сетку в керас на 3 слоя, с тангенсами в качестве активационных функций
Все работает как надо, но для того чтобы ее использовать вдиссере необходимо доказать, что данная сетка наиболее оптимальна
Че дальше с ней сделать вообще можно? как улучшить?
Пока поигрался с количеством нейронов, активационными функциями и алгоритмами оптимизации
Может нужно структуру менять или что-тодобавить?
516 1400528
>>400451
Построй RF, SVR с нелинейным ядром, GBDT, OLS, Ridge, Lasso, ElasticNet ,KRR, сравни их с сеткой по 5/10 фолдовой CV или LOO, и на тестовом множестве замерь метрику.
517 1400642
>>400528
спс, основной посыл понял, буду изучать
Получается по сути мы разрабатываем отдельные сетки под конкретные виды регрессии?
Есть какой источник типа книги или учебника, где подробно описано применение инс для решения задач регрессии? Для изучения и чтобы было на что сослаться
518 1402827
Здравствуйте, мне в далекой провинциальной шараге задали диплом с темой по нейронным сетям. Мне нужно несколько наборов данных проклассифицировать и добиться неплохой точности на тестовых данных. Я застеснялся отказаться от этой темы, я все проворонил и теперь уже поздно отказываться от темы, ибо в конце мая защита. За это время я читал две книги на русском языке Ф. Шолле Глубокое обучение на Python, Библиотека Keras - инструмент глубокого обучения, посмотрел курс по нейронным сетям на stepic.org, смотрел на youtube серию видео Андрея Созыкина - Глубокое обучение на Python.

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

Подскажите, пожалуйста, какие-нибудь видеокурсы на русском языке или книги, где рассказывается как правильно выбирать количество слоев, количество нейронов, как правильно задавать для нейронной сети значения параметров momentum, learning rate, decay, epsilon, какую выбирать регуляризацию. Помогите!
15573789509430.jpg115 Кб, 1280x565
519 1402836
>>402827
Зумера с профильным образованием не могут в машоб.

> я пытался сделать нейронную сеть на Keras,


Ну тау и почитай книжку от самого автора кераса. Он очень грамотно поясняет за диплернинх в т.ч на практических примерах в керасе. Или ты и в английский не можешь? Это же пиздец, отучиться и ко времени написания диплома даже не понимать что копипастишь, откуда и зачем.
520 1403625
>>402827

> диплом в конце мая


Тоби пизда, тикай с городу хлопец
521 1403641
>>402827

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


Лол, за это диплом дают? А если я какой-нибудь Sphere GAN дома реализовал, мне дадут докторскую степень сразу?
522 1403643
>>403641
Сначала диплом за классификацию ирисов получи.
523 1404094
>>402836

>Ну тау и почитай книжку от самого автора кераса.


Ладно, спасибо, вроде, это и есть Ф.Шолле, еще раз посмотрю, попробую.

>>403641

>Лол, за это диплом дают?


>Сначала диплом за классификацию ирисов получи.


Да, дают. Но набор данных с ирисами Фишера взять, естественно, нельзя, можно только те наборы данных, что принудила взять кафедра.
524 1404163
Аноны, подскажите годную книжку по методам восстановления нелинейной регрессии с помощью ИНС
525 1405480
Можно ли на kaggle увеличить производительность? Готов заплатить за эту хуйню, очень уж там удобно.
Тред утонул или удален.
Это копия, сохраненная 13 июня 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски