ПЛАТИНА Книги хорошо, но с чего начать практический вкат? Во-первых, вам нужна любая unix-based система. На Windows возможно запустить нижеперечисленное, но ждите пердолева с настройкой и неодобрительных взглядов анонимуса. Кроме того, в компаниях, так или иначе связанных с разработкой йоба-ПО и machine learningом, Linux/OS X является стандартом. Привыкайте. Во-вторых, определитесь с языком. Python и C++ наиболее мейнстримовые инструменты, с ними вы без еды не останетесь. Есть еще R, на котором пацаны живут статистикой и анальными пакетами. Некоторые инструменты являются языко-независимыми (Vowpal Vabbit, XGBoost), но обвязывать их вы все равно будете из какой-либо среды. На Java разработано много production-ready инструментов для бигдаты и если вы угораете по терабайтам данных, то имеет смысл посмотреть в её сторону. Впрочем, лучше это делать уже потом, когда прийдет осознание потребностей. В-третих, выбирайте себе задачу. Что угодно: распознать качпу, обнаружить ботов по логам, найти раковых больных. Список можно посмотреть, например, на kaggle.com. После чего приступаете к решению выбранной задачи.
Не прийдется ли мне потом с таким наборищем знаний идти в макдак работать? Несмотря на хайп вокруг ML, далеко не во всех IT компания есть необходимость в ML и понимание круга задач, которые можно решить этими методами. Но поверьте, в 2017 компетентный специалист будет востребован. В России потребителями ваших знаний могут стать: Яндекс, Mail.ru, Вконтакте, Rambler, Касперский, Билайн, Связной, ABBYY, Хуавэй. В биоинформатике есть определенный спрос, можно поскролить http://blastim.ru
Здорово, но я так и не понял чем же вы занимаетесь в IT компаниях? Попытаюсь ответить со своей колокольни и сразу хочу предупредить, что это едва ли консенсуальное мнение. ML-специалист - это такое зонтичное определение для человека, способного увидеть проблему, выгрепать кучу логов и данных, посмотреть на них, придумать решение проблемы и врезать это решение его в продакшн. По сути, это кодер, решающий не чисто технические, а, в некотором роде, человеческие проблемы. Имхо, мы все же остаемся в первую очередь разработчиками.
Что такое TensorFlow? TensorFlow - опенсорсный гугловый инструмент для перемножения тензоров и оптимизации функционалов. Опенсорсный - потому что даже важные куски типа параллелизации уже выкачены в паблик. Если вам все ещё непонятно что это, значит это вам и не нужно, сириусли. Google перестарался с рекламой и теперь люди думают, что TF - это серебряная пуля и затычка для каждой бочки. До TF был Theano, который выполнял свою работу не хуже. И, в отличии от TF, он уже находится в стабильной фазе.
будет ли ML нужен в ближайшие 10 лет, или это просто хайп? будет. хайп.
смогу найти работу? Яндекс, мейлру, касперский, несколько биоинформатических компаний (iBinom, можно еще blastim.ru поскролить на тему работы), билайн (они с НГ целое подразделение открыли под ML и биг дату), связной. Ну и западные аутсорсы, если готов рачить за валюту.
шад))) Нет там ничего ML-специфичного, знание матана и теорвера на уровне заборостроительного вуза. Теорвер проходится на третьем курсе, как раз 20 лет. Рандомный хрен туда не сможет поступить, потому что планка намеренно задрана, а не потому что там такая охуенно сложная программа. Это традиционная наебка "элитных учебных заведений", в которой учат так же хуево, как и везде, но за счет отбора поступающих якобы формируются неебовые успехи, которые объясняются именно качеством преподавания. Иными словами, у тех, кто способен поступить, и так в жизни проблем с трудоустройством не будет.
В чем суть байесовского подхода и всего, что начинается или имеет в составе "байес"? Поясните по хардкору, пожалуйста. Вот, что нейроночка это массив это я понял.
>>979373 задаешь приорное распределение над параметрами и теоремой баэса +данные вышисляешь постериор вместо точечной оценки параметров как в устаревшем классическом/частотном подходе у тебя есть распределение вероятности над пространством параметров
Я работаю в стартапе. Теоретически это от 9 до 5, но, как правило, все мы остаемся позже. Большая часть дня действительно находится перед терминалом, отлаживая или записывая код, время от времени обучая модель или две, но часто это то, что просто работает в фоновом режиме, пока вы работаете над чем-то другим. Каждую неделю проводятся как минимум несколько встреч, но они, как правило, довольно короткие. Мне нравится, что каждый день появляется что-то новое, и мы также стараемся идти в ногу с исследованиями. С другой стороны, неясность и отсутствие четкой документации - самые неприятные вещи, особенно если вы ищете какую-то загадочную причину, то что-то не работает.
Я работаю над своими задачами, которые обычно связаны с одним из: Оценка модели, которая была обучена Работа по настройке для обучения новой модели Оценка литературы для перспективных технологий Данные по очистке Составление потенциального подхода к проблеме Развертывание модели для производства
Я работаю в псевдо-исследовательской среде. Я заходила в 10 утра, выходила около 5 вечера. Вернитесь к компьютеру около 9 часов вечера и немного поработайте / играйте до 11 или 12 ночи. Я часто работаю во время одного из вечеров выходных (обычно в воскресенье вечером, когда у меня есть свободное время, чтобы поиграть с моделями и т. Д.).
Типичный проект состоит из бесконечных обсуждений и исследований, чтобы решить, что является подходящей целевой переменной и целевой группой. Лучше ли смоделировать вероятность дефолта в 1y? 6m? Что представляет собой дефолт (это действительно сложно)? Если я создаю модель для оценки вероятности того, что кто-то не оплатит свою кредитную карту, хочу ли я использовать данные из всех банков или только моих клиентов? Являются ли мои выбранные данные обновленными в рабочей среде? Могу ли я полагаться на эту информацию? Моя модель - это инструмент для принятия решений, но на самом деле решения будут приниматься на основе модели? Если ваша модель должна использоваться менеджерами филиалов, но они не могут понять ее логику, они могут просто игнорировать ее.
>>980224 Увы, у нас разные системы ценностей, друже. Но ты не виноват, ты такое же животное как я, со своим набором нейромедиаторов в черепной коробке.
>>980241 https://github.com/arrayfire/arrayfire опенсорсная обёртка над другими опенсорс либами много функций для матриц и прочих алгоритмов для массивов доступна на многих яп, я пользовался на юле и эфсярпе немного течёт (читай вызываешь сборку мусора вручную лол) но для моих говноподелок норм простой пример ускорения: умножить 2 рандомных 10к х 10к матрих ~0.3 сек на 1080, где-то в 20 раз быстрее проца
Надо через месяц простой распознаватель наличия кошечек и людей на фотке сдать, а у меня из знаний по теме только общая суть (Ну там матрицы перемножаются, сравниваются и обратное распространение, тип уменьшить потерю, а еще сверточные слои какие-то есть хуе-мое) с парой формулок. Что подойдет для решения задачи "быстро-написать-и-обучить", Keras будет ок?
>>980898 >Надо через месяц простой распознаватель наличия кошечек и людей на фотке сдать смотри как в opencv это зделано каскады хаара, если не ошибаюсь шабллоны в хмл есть и для людей и для котов
Решил вкатиться в данную тематику. Что из матчасти изучать более-менее понятно. А вот на каком уровне нужно знать, скажем, Python? Требуется ли ООП или функциональщина?
>>981221 Я уже тут два раза спрашивал, кто-то вкатился в индустрию на зарплату? Вот почему. А учить дрочить можно хоть рокет саенс ради прикола, но ракеты ты от этого строить не будешь. Клоуны.
>>981238 Зачем нон-стоп сидеть тут, если уже вкатился? Я в пхп-тред захожу пару раз за полгода, например. А ответ на твой вопрос есть в архивах тредов.
>>981316 Доктор блять по физике, ну нихуя себе блять, тут на сосаке большинство закончили гуманитарошараги! шараги! блять. И эта говномасса мечтает о нейроночках.
>>981246 Та же херня. 3 курс, работаю жабомакакой. Из-за МЛ окончательно бросил развиваться как программист. А ведь хотел писать крутые архитектуры, знать паттерны и всё такое. И это всё ведь поможет мне стать крутче на рыночке, укатиться на другой континент. Но я как мудак сижу и дрочу нейрончики.
Есть какие-нибудь дешевые сервисы облачных вычислений с уже установленными (возможностью установки) всякими кеглями и тензорфлоу? Хочу вкатиться, но совсем нищук.
>>982074 >всм надоел? всм заебал > задача Вообще у меня метрика, но в го-тредике крудо-песатели долбоебы, а этот тред мне показался ревелантным. Ну в самом деле, не у веб макак же спрашивать. Что касается выбора технологии, то хозяин великодушно разрешил выбрать самому. >мало либ Жаль. Два года назад искал аналог nltk на Go, до сих пор с этим хуево.
Есть ли профит от многоядерного проца для всей этой хуйни? Или даже потребности начинающего уже включают в себя аренду мощностей на амазонах, и домашний пека можно не апгрейдить?
Поясните за сверточные нейроночки, точнее могут ли они в такую задачу: - есть набор картинок, на картинках зависящие друг от друга фигуры. - датасет организован так, чтобы представить эту зависимость в форме 4картинка = f(3картинка,2картинка,1картинка), следующий набор - 5картинка = f(4картинка,3картинка,2картинка) и т.д., по-сути нечто вроде матрицы Ганкеля, но не с цифрами, а с картинками фигур, что есть стандартный метод представления динамической системы. Вопрос - сможет ли сверточная нейроночка идентифицировать систему по такому датасету, конкретно требуется, чтобы она выдавала 4ую фигуру по предъявленным трем предыдущим?
>>982911 Что с ними не так? Обычные среднестатистические
Меня другое в яше поразило, как они относятся с людям, мне письмо от них пришло через ЕБУЧИЙ МЕСЯЦ, когда я уже нашел другую работу. Нахуй так делать? Или им кролики нужны которые только на Яндекс молятся?
Скачал Intro to Machine Learning. Ethem Alpaydın. Ну хуй знает, как то сухо все идет повествование, мне бы что покрасочнее с картиночками графиками, охуительными историями.
Так сказать книга обзор, экскурс в область. Не углубляясь. И не сильно обмазываясь.
Пацаны, яндексовская 6месячная специализация имеет смысл чтоб за нее платить?
ML рассматриваю как возможный путь переката из мобайла в течение года, поэтому не особо спешу, и идея посматривать видосы параллельно с книжками кажется нормальной. Но вот сертификат этот - он вообще что-то даст?
>>983289 Скорее всего ничего не даст, но я прохожу. Половину специализации можно пройти за две недели, дальше пока не знаю. Хочу уложиться в два месяца. На мой нубский взгляд, очень крутая специализация. мимо такой же перекатыватель
>>983289 >>983290 Котаны, а я просрал все полимеры, не серьезно отнесся ко всей этой шляпе, и на 2-ом курсе специализации не сдал все домашки, и в итоге сертификат второй не получил. Дропнул, думал может заного вкатиться пробовать.
Млять... и сейчас думаю может пробовать заного вкатываться...
А где то есть инфографика что куда входит. У меня просто каша в голове: Нейронные сети, Машинное обучение, БигДата, ИИ, Диплернинг, Компьютерное зрение, и т.п.
Типо как граф связей что от куда вытекает , что сначала надо изучать.
>>983295 Почему бы и не попробовать? Я сейчас заканчиваю первый курс, но морально настроен на его повторное прохождение и осмысление, т. к. чувствую, что знания усвоились недостаточно твёрдо (хотя ответы на все вопросы в тестах даю правильные). Планирую найти какой-нибудь задачник по линейке, попрактиковаться с матрицами, векторами, функциями. Может кто подскажет годные варианты?
>>983363 В питоне же куча библиотек, тот же scikit, pandas, numpy, bob, opencv, tensorflow и еще 100500. И вряд ли на r есть пакеты уровня opencv. Вот собственно интересно чем же r так хорош
>>983385 Сто раз пояснял, что кроме сверточных нейроночек пистон для мл по сравнению с R пустое место. Но школьники все равно кроме сверточных сетей и хгбуста ничего не знают, поэтому пояснять что'то бесполезно.
>>983323 Я после каждой лекции смотрю видео на ютубе, там очень простым языком все понятия объясняются, и читаю книжку машин лернин виз питон. Мне кажется, простые понятия из линейки можно и на википедии смотреть, либо на том же ютубе.
>>983413 В том числе. Я обычно просто набираю название непонятной вещи, типа ordinary least squares, и там вылезает куча видео, в которых простым языком именно эта вещь объясняется.
>>983290 ну хз за 2 недели можно пройти если ты нигде не работаешь/не учишься и просто щелкаешь правильные ответы. >>983325 Интересно, с линалом у меня все ок, а вот больше проблемы с тервером.
>>983622 Ты почти прав. На работе куча свободного времени, там и прохожу. Да и первый курс крайне простой, за день осилить легко. В целом не вижу ничего не реального в том, чтобы неделю в день-два делать.
>>983404 А как ты вкатиться планируешь? У меня тут пукан бомбит что у меня шарага техническая, а не божественный МФТИ, а ты голодранец вообще без ВО? КАК? Или ты для души куришь машоб?
>>983764 Я пока не строю планов по вкату. Просто тема интересная. Цель на текущий момент — заполнить пробелы в знаниях по матеше и запилить что-нибудь в машобчике, уровнем тянущее на диплом нормального вуза. Для себя. Ещё мне почему-то начал нравиться питон.
ВО нужно, если в твои должностные обязанности входит написание статей в научных журналах или ты метишь в глубокое R&D. Ну мне так кажется, возможно и неправ.
>>983787 Я начитался что в яндексе одни петухи работают, и типо там маленькие ЗП, а мотивируют они это тем что "работать в нашей компании большая честь".
>>983789 Да, скорее всего, так и есть. Зарплата пых-макаки с годом опыта.
>>983792 >и типо там маленькие ЗП Тоже слышал такое. Но после нескольких лет работы в яндексе, думаю, тебе в большинстве случаев не составит труда перекатиться на хорошие деньги в другие конторы.
Ньюфаг в треде, пытаюсь завести простенькую распознавалку на сверточной сети, уже по-всякому ее вертел, но больше 0.6 акьюраси на тестах не получал. Причем обычно в середине имею 0.6/0.6 на тренировочных/тестовых пикчах, а потом точность на тренировке растет вплоть до 0.85-0.90, а на тесте колеблется на 0.6+-0.02 и не может взлететь выше. С чем это связано, с малым числом сверточных слоев (больше 3 не ставил), со слишком малым размером базы данных (5 классов, ~3к пикч), с тем что я шакалю изображения до 120х120, со всем сразу?
>>983967 Читаешь https://followthedata.wordpress.com/2012/06/02/practical-advice-for-machine-learning-bias-variance/ Видишь, что у тебя high variance - то есть модель твоя переобучается, не генерализуя достаточно. Поэтому усложнять модель (ставить еще больше слоев) не надо, тогда она будет переобучаться еще сильнее. Больше данных - ок. Больше пикселей - не совсем ок, так как ты, с одной стороны, увеличишь число данных, но при этом увеличишь и размер твоей модели. Далее, можно добавить регуляризацию, например, batch normalization или дропаут. Это тоже поможет от переобучения. Начни с этого. В конце концов скорее всего high variance превратится в high bias, тогда можно будет и усложнить модель, и так ебашить циклично, пока не добьешься нужных цифр.
>>984262 Вкратце - Тета (H) - это гипотеза, Х - obseravation (данные). Теорема Байеса задаёт зависимость между вероятностью H|X (вероятность гипотезы при наблюдаемых данных Х, постериорная) и вероятностями H(априорная), X|H и H. Фреквинитсткий подход - думать в терминах X|H (как часто мы наблюдаем такие-то данные, если гипотеза верна). Не думать о данных - подход макаки (просто есть слепая вера в гипотезу). Не думать о гипотезе, а только о наблюдаемых данных - подход недалёкого позитивиста. Очень сумбурно написал - если что-то непонятно попробую дополнить.
А вот что значит последний иероглиф я не знаю - поясните кто-нибудь.
ПОМОГИТЕ! Я делаю сверточную нейронную сеть с двумя слоями свертки. Вопрос: как отправить ошибку с предпоследней свертки следующему слою пикрелейтед? Я уже смог пропустить ошибку через прошлые слои части свертки, как ее отправить дальше? В интернете не нашел ничего, что рассказывает больше чем об одном слое свертки.
>>985287 И еще один вопрос после того, как я применил алгоритм обратного распространения ошибки к свертке я получил матрицу 64х64 как теперь этим обновить веса свертки, размер которых 6х3х3?
>>984853 Последний иероглиф про вореции. В случаях, когда стат.модель достаточно сложна, апостериорное распределение можно приближать вариационным методами: mean field, expectation propagation, stochastic variational bayes там всякие.
>>983263 Вопрос собеседуещего петуха, а что под схожестью изображений понимаеться? Если основные цвета то возможно. Какая нейронка используеться, как кормим, но основе чего получаем веса?
Есть какие-то готовые инструменты с красивым веб-интерфейсом? Взял, загрузил данные, оно проанализировало и выплевывает такую йобастатистику, йобаграфики, йобакорреляции, всё такое йоба шо вообще.
>>986097 Я пользовался DataRobot. мне вообще ничего не пришлось делать, я загрузил CSV и он мне все показал, какте алгоритмы лучше кореллириуют, какие хуже и какие данные значимы как фичерсы.
Поясните за распознавание котиков. Суть такова. Оказывается, в природе не существует бесплатных математических OCR, которые бы распознавали скажем формулы в рендеренных пдф'ках в AMS'TeX нотацию. Если замутить датасет, где входом будет графическое изображение формулы в вышеуказанной нотации, а выходом соотв'но текст, рендерящийся в такое изображение, получится ли искомый мат OCR бесплатно и без смс?
>>986700 Вот, кстати да, если есть такие крутые нейросети, то почему всё-еще есть проблемы с распознаванием текста, а старые книги еще не сделаны, например, в нормальные pdf с текстом, который можно выделять и копировать?
>>986703 Ну я еще в прошлом году тут писал, что нейроночки это зависимый тип, в этом году писал, как алгоритмы на основе теории чтатистического обучения Вапника свести к типизированной лямбде и получать автосатически генетмческим программированием. Вот не только мне очевидно, что млтт это будущее не одной математики, но и машинного обучения. Ждем, когда до этой мысли дорастут ведущие специалисты в области мл.
Нейроночки это алгоритм. И вот, кого'то осенило, что они представимы в парадигме функционального программирования. Але, гараж, Тьюринг об этом еще в 1937 году писал.
>>986707 Есть, у гугл букс можно искать кучу книг по фразе, но копирайт, библиотеки и тд не дают выкладывать полностью в открытый доступ, кроме того, сканировать книги довольно трудоемко, ну, и если выложить в открытый доступ, не будет профита
Хелп! Пишу сверточную нейронную сеть, и в какой-то момент она застряет в одном месте, а также картинки при обработке сверткой становятся очень сильно засвечены.
Машинным обучением, нейронками и прочим ИИ разве есть смысл заниматься самому, без профильного ВО? Это ведь дико математизированная штука и при устройстве на работу в области "ИИ" нужно иметь профильное ВО и не хилый математический профиль. В смысле, без ВО и ИИ вкатиться и работать реально?
сейчас даже ссаные турагентства, которые должны умереть как мамонты, пытаются в БИГДАТУ, МАШИНЛЕНИНГ И КЛАСТЕРНЫЙ АНАЛИЗ для их уровня хватит видосиков на ютубе и решения задачки про титаник
После финансового кризиса 2008 года их бизнес-модель оказалась под давлением, так как компании сократили расходы на юридические услуги, а технология воспроизвела повторяющиеся задачи, с которыми юристы более низкого уровня в начале своей карьеры работали в прошлом.
Раньше BLP собирал небольшую группу младших юристов и помощников юристов в кратчайшие сроки, а затем отправлял их в комнату для извлечения этих данных вручную из сотен страниц - процесс, который мог занять недели. Система Ravn проверяет и извлекает ту же информацию за считанные минуты.
Пока, говорят фирмы, технология не означает потери рабочих мест. Но профессор Сусскинд считает, что впереди волна увольнений - юридические фирмы все еще экспериментируют с ИИ вместо того, чтобы разворачивать их через свои офисы.
>>987371 Какая нах нейроночка, если автоматизация в этой области полностью решается экспертной системой? То же самое и в области постановки мед диагнозов (этим вроде Ватсон сейчас занимается, а там коре - экспертная система). Но вообще всё это хуйня, поскольку юристику невозможно формализовать, там больше психологии. Разве что мелкую хуйню, типа административки с минимальной предысторией.
>>987264 Смотря что ты подразумеваешь под "заниматься машинным обучением". Есть немало дата аналитиков, которые, грубо говоря, просто юзают алгоритмы как чёрные коробки.
>>987379 >987264 >Смотря что ты подразумеваешь под "заниматься машинным обучением" Как раз и заниматься разработкой этих самых "черных коробок", теорией алгоритмов, статистикой, теорией информации и обучением интеллектуальны систем. Я в общем понимаю, что это больше в "исследователи", а это значит, что нужно "ВО". Но надеялся всё же на лазейку. Мол, можно ли без ВО каким-либо образом этим заниматься, ибо в 24 года поступать в универ такая себе идея
>>987377 >юристику невозможно формализовать Внезапно, нейронки решают то, что нельзя формализовать. Скорее бы юристов пидорнули, не люблю этих ЧСВ-шных говнокодомакак уровня 1С.
>>987399 Ну почему же, там сейчас у сбера конкурс есть по оценке недвижимости, можно на CPU считать. Да и по другим конкурсам я не очень понимаю, зачем там титаны, если конечно ты не обучаешь десять ансамблей по тридцать моделей в каждом, как некоторые отбитые товарищи.
>>987399 Так при чём тут титаны. Дата саенс это же не про "давайте навернём десять тыщ слоёв", а про грамотный анализ данных, отбор фич, генерирование макрофич, очистку датасета и т.д. Для всего этого титаны не нужны.
>>987406 >>987408 Ну я сам не лез еще, но краем уха на хабрах всяких неоднократно слышал что одна из проблем использования кегли для саморазвития - что там в топах и кернелах часто висят парни, которые просто стакают сетки в ансамбли, а не придумывают что-то новое или поясняют за анализ.
>>987413 Если тебе для саморазвития - какая разница, кто там в топе? Просто решай задачи, получай бесценный опыт. >парни, которые просто стакают сетки в ансамбли Ну есть такое. А ты придумай новое. >поясняют за анализ Победители обычно расписывают свое решение, но там редко что-то ценное. Чаще всего ансамбли и дрочево
>>987431 >Если тебе для саморазвития - какая разница, кто там в топе Ну так интересней гораздо, когда на что-то претендуешь
Плюс: >Победители обычно расписывают свое решение, но там редко что-то ценное. Чаще всего ансамбли и дрочево Ну в том и суть, что, выходит, найти интересные решения сложно среди тонны решений в стиле "Я запускаю керас и собираю ансамбль из 500 тыщ моделей..." как раз из-за титанщиков в в топе.
Но я понял суть, попробую-таки кагл, спасибо за ответы
>>987377 >юристику невозможно формализовать, Юристика - это формализация курильщика, конкретный пример, когда формализацию делают гуманитарии. Как итог - закон что дышло, кто больше занес / имеет больше связей, тому и вышло. И без видимых противоречий, все по закону. Потому что начни там копать формально, пиздец сколько хуйни повылезет, противоречие на противоречии противоречием погоняет. Еще Лейбниц понимал необходимость формализовать эту область, сейчас это даже возможно технически (я про пруверы), только всем похуй - законы крутятся, баблишко мутится.
>>988767 Ну еще сверточные сети, как обычно. Еще в прошлом году тута постили ссылку на пейпер, в котором это описано. Мне вот интересно, ЦП оно генерировать может из текста?
Тренирую сверточную нейросеть на классификацию изображений, на данных из инета (imagenet, google) работает относительно нормально с 76% акьюраси на тестовых, но на реальных фотках с камеры дает не выше 30%, хотя камера вроде не слишком хуевая да и фото вблизи сделано. Как пофиксить? Больше данных/портить исходные, углублять? Конечная цель - распознавание с камеры, так что жизненно необходимо работать именно с хуевыми фотками
>>989121 Портить исходные. При чем в теории портить можешь с помощью GAN сетки, подавая дискриминатору на вход порченные данные или же фото с камеры, а генератору на вход имейджнет, а на выходе собственно чтобы он портил.
Есть вопрос по поводу нормализации градиента. У градиента в моей нейронке могут быть значения от 1000 до -0.0000001. Как это собрать в значения от 1 до -1, причем чтобы маленькие градиенты типа 0.001 не изменялись(или их нужно тоже менять, чтобы все было верно?)?
>>987386 Так "исследователи", этим всем занимающиеся, и сидят в основном в вузиках, а работают всякие хадуп-макаки, у которых вместо теорий - ноухау. Если ты всю математику знаешь без диплома и вообще умен, можешь и поступить, и сразу пойти искать лабораторию, в которой тебе дадут разрабатывать коробки. Тем, кто делом занимается, диплом не нужен, главное чтоб работа выполнялась, а то грант отберут.
Если не знаешь, то какое тебе исследование? Выйдет только новое поколение кадров для РАЕН.
>>989436 С помощью функции f(x) = atan(Cx)/(pi/2) ты можешь смапить -inf...inf в -1..1, оставив маленькие значения более-менее такими же, а большие сильно уменьшив, управляя силой сжатия параметром C. А дальше нормируешь вектор как обычно к новой длине. длина_вектора=sqrt(sum(градиент.^2)); новая_длина_вектора = f(длина_вектора) новый_градиент = градиент новая_длина_вектора/длина_вектора
Вместо atan можно взять tanh или sigmoid. Если возмешь C=1, то маленькие значения меняться не будут, так как касательная у арктангенса в нуле имеет угол 45 градусов.
>>989813 Спасибо, но я что-то не понял. Зачем нужна эта >А дальше нормируешь вектор как обычно к новой длине. >длина_вектора=sqrt(sum(градиент.^2)); >новая_длина_вектора = f(длина_вектора) >новый_градиент = градиент новая_длина_вектора/длина_вектора часть? Я посчитал тут, и особой разницы не заметил.
>>989853 Твой реквест был сократить длину больших векторов до 1, при этом маленькие не трогать. Для этого нужно использовать функцию типа atan, которая примерно это и сделает.
>>989934 Во-первых посмотри на тот пост со звездочками в нужных местах https://pastebin.com/JPynJ8cM Если тебе это ясно, то градиент - это вектор. Ты хочешь изменить его длину. Чтобы из вектора длиной l1 сделать вектор длиной l2 и сохранить его направление, нужно сделать v_new=v_old*l2/l1, простейший линал или даже аналитическая геометрия.
>>989931 Тут >>989853 orig - начальные данные map - данные после использования atan length - длина оригинального вектора nlength - длина вектора после использования atan ngrad - данные после нормирования вектора
Я имел ввиду, что не заметил особой разницы между ngrad и map. Почему нельзя остановиться на map?
Уважаемые господа резёрчеры, а сколько статей в день вы читаете? Я утром пролистываю твиттер с архивом и всякими топовыми чуваками и пополняю турид пул, потом читаю и разбираю одну самую интересную статью из пула. На это уходит около часа времени, больше позволить себе не могу. Правильно ли я делаю?
Объясните одну штуку, пожалуйста. Вот у меня в сверточной нейронной сети есть ошибка которую я получил из прошлых слоев. Потом я переворачиваю свертку каждого сверточного нейрона по высоте и длине, но не по глубине и провожу ошибку через эти свертки. В итоге у каждого фильтра получается своя ошибка. После этого я складываю соответствующие ошибки и передаю в следующий слой. Правильно ли я все это делаю?
Посоны, выкладывать проги по МО на гитхаб иль kaggle не на питоне или плюсах совсем зашквар? на c# прост пилю, вроде норм, но выкладывать в публично чот стыдно
Дорогие аноны, простите, что не туда, просто это один активный тред. Делаю сайт через блокнот, задали в школе. Получается какая-то ерунда (пикрелейтед), перехожу по ссылке, пишет, что проблемы с сетевым соединением. Что это? Сил моих уже нет.
>>985287 Сам когда-то сталкивался с подобным вопросом, но тут тебе не ответят, потому что сидят те кто использует готовые скриптовые решения на питонах и т.д. или вообще только с вопросом как вкатиться и пропадают. Посмотри как соединены и вычисли производную, вот и все.
>>991060 Посмотрите на это быдлецо, быдцело делает import tensorflow as tf и по примерам со стековерфлоу рисует графики в своих поделках или на датаслесарской работке. Быдлецо не знает алгоритмов и математики, которая стоит за тем что он использует, поэтому вынуждено подбирать инструменты спрашивая тех, кто в 90-е на ассемблере писал, или простым перебором. Если в интернете нет гайда как на питоне что-то сделать, быдлецо прибежит сюда беспомощно спрашивать в какой библиотеке можно найти нужную ему функцию.
>>991093 "Небыдлецо" закукарекало вместо авроры. Ты сам читаешь, что постишь? Как тебе самописные говнонейроночки помогут узнать, в какой либе что реализовано? Совсем уже одурели школоилитарии, возомнившие себя гуру машинлернинга по той причине, что осилили набыдлокодить игрушечный вариант ленета из 80х годов последнего века прошлого тысячелетия. Сам ты все равно эту быдлонейроночку не улучшишь даже, не говоря о своем алгоритме. Так к чему все эти пальцы веером и сопли пузырем? Ты такой же слесарь, который не смог нагуглить как пропагейшн реализован между слоями, т.к. в интернете нет гайда (или что скорее всего, есть, причем не удивлюсь, если все детально описано в оригинальной работе самого Лекуна но ты не смог найти по причине общей одаренности).
>>991093 >Быдлецо не знает алгоритмов и математики И с хуя ты так решил? Я знаю алгоритмы и математику намного лучше тебя, потому что я учил алгоритмы и математику, а не низкоуровневый дроч. Я понимаю, если бы ты решил вручную запилить tf.nn.conv2d, чтобы понять архитектуру tf и как пилить кастомные слои (чего я не умею и мое почтение), но ты ведь реально делаешь самописную говнонейронку на C#, которая пригодится тебе примерно так же, как взятие производных на первом курсе универа помогло тебе впоследствии заниматься программированием.
>>991144 Написав свою нейронку, он потом и кастомные слои сможет, и кастомные сольверы, и все остальное гипотетически. А ты предлагаешь ему погружаться в очередной говнофреймворк, который еще десять раз перепилят. Кто-то дрочит теорию, кто-то практику, каждому свое
>>979045 (OP) ОБЧИТАЛСЯ НЕЙРОТРЕДЖА НА ДВАЧЕ И РЕШИЛ УГОРЕТЬ ПО ML @ НАПИСАЛ ПРОСТЕНЬКУЮ НЕЙРОНКУ, ПРОДАЮЩУЮ %ПРОДУКТ_НЕЙМ% ТВОЕЙ КОМПАНИИ КЛИЕНТОЛОХАМ @ ОБ ЭТОМ УСЛЫШАЛО РУКОВОДСТВО, ЗАИНТЕРЕСОВАЛОСЬ @ ПООЩРИЛИ РАЗРАБОТКУ ПИЗДЮЛЯМИ И ДОБРЫМ СЛОВОМ @ ЕБОШИШЬ ВТОРУЮ ВЕРСИЮ, ОТ РЕАЛЬНОГО ПРОДАЖНИКА ПОЧТИ НЕ ОТЛИЧИТЬ @ ЗАКУПАЮТ НЕСКОЛЬКО СЕРВЕРОВ, СТАВЯТ НА НИХ ТВОИ НЕЙРОНКИ И ВЫПИЗДЫВАЮТ НАХУЙ ВСЕХ ПРОДАЖНИКОВ @ СПЛОШНЫЕ ПРОФИТЫ @ РУКОВОДСТВО НАЧИНАЕТ НЕДОБРО ПОГЛЯДЫВАТЬ НА ТЕБЯ @ ВСЁ ЧАЩЕ СЛЫШИШЬ "А ЗАЧЕМ НАМ СИСАДМИН/РАЗРАБОТЧИК, ЕСЛИ И ТАК ВСЁ УЖЕ РАЗРАБОТАЛ НАМ, ДА И НАПИСАТЬ СЕБЕ ЗАМЕНУ СМОЖЕТ?" @ ДАВЯТ И ПРИКАЗЫВАЮТ НАПИСАТЬ НЕЙРО-СИСАДМИНА, КОТОРЫЙ ЕЩЁ МОЖЕТ В НАПИСАНИЕ НЕЙРОННЫХ СЕТЕЙ, ИНАЧЕ УВОЛЯТ ПО СТАТЬЕ @ ПИШЕШЬ @ УВОЛЬНЯЮТ ПО СОБСТВЕННОМУ @ @ @ @ СПУСТЯ ПАРУ МЕСЯЦЕВ НЕЙРОТЫ ПИШЕТ НЕЙРУКОВОДСТВО @ МЯСНОЕ РУКОВОДСТВО УВОЛЕНО @ СПРАВЕДЛИВОСТЬ ТОРЖЕСТВУЕТ @ А В ТВОИХ ТРУСАХ И МАТРАСЕ ХЛЮПАЕТ ПОДЛИВА%% @ ДОБRО ПОЖАЛОВАТЬ, СНОВА
>>991157 Ну вот ты и говоришь как типичная низкоуровневая блядь из начала нулевых. Сейчас мало кто из любителей компьютерной графики способен написать алгоритм Брезенхема на асме, а тогда сказать о том, что это нахуй не нужно, потому что у тебя есть OpenGL - это наткнуться на такую реакцию, что как так можно, если ты не знаешь, как выводить линию, то как ты будешь разбираться с выводом тысяч треугольников и шейдингом... А вот так, лол, что жизнь усложняется и практическая имплементация основ нахуй не нужна. Возможно, мне нужно знать, как устроен топор, чтобы построить дом, но мне точно не нужно делать топор вручную, чтобы доказать, что я мог построить дом. Чтобы знать, как устроен топор, достаточно почитать абзац текста. Чтобы знать, что такое chain rule и как берется производная свертки - тоже. Нахуя тут что-то имплементировать - не понятно. Особенно утверждая при этом, что те, кто этого не сделал, ну нихуяшеньки не понимают в математике. Примерно та же хуйня была с вебом. Современные фреймворки далеки от кода, написанного в ручную, как диды завещали, примерно так же, как современные MVC-фреймворки далеки от CGI-софта, написанного на С++ в 2000 году. Этот софт был ужасен, разработка была дико медленной и хуевой, пока сообщество с болью не вывело более-менее успешную формулу - на С написана только БД, все остальное на динамическом языке. Дальше та же самая хуйня повторилась на новом уровне - дидами тут уже были те, кто писал без помощи rails-подобных фреймворков и CMS. Сейчас в здравом уме уже никто не будет писать CGI-софт или разрабатывать игру на ассемблере, ровно по одной причине - диды стали прадедами, и мы стали дидами. С графическими интерфейсами было то же самое. Высшим шиком было написать на голом WinAPI софтину, или же на MFC. А выиграл в итоге кто? Кто уже тогда начал писать на Qt и спокойно портирует свои наработки без привязки к wine.
Короче, из года в год повторяется одно и тоже. 1. Диды пишут как могут. Хуево, неэффективно, убивая кучу времени на отладку одних и тех же багов. 2. В конце концов рождается инструмент, ускоряющий разработку. В данном случае CAS-фреймворки. Качественно новая схема. 3. И дальше общество делится на два типа людей. У одни - "ну, диды же так писали, надо как они, по-другому научиться ничему нельзя", а перед пилением своего изучают best practices в отрасли, и только потом пилят что-то свое. И первый тип сосет примерно как соснул вот этот хуй https://habrahabr.ru/post/327596/
Вот и все. Ты из подобного дроча получишь ноль знаний, которые тебе бы пригодились в будущем. Первым делом надо выкинуть нахуй C#, это ебаное делфи современности, затем взять http://cs231n.github.io/assignments2017/assignment2/ , прорешать, и забыть о производной свертки как о страшном сне. Это при условии, если не уверен, что понимаешь, как она берется. Если понимаешь, то и этого делать не обязательно, лучше внимательно почитать материалы этого самого cs231n и не ебать мозг далее, в мире куча статей нечитаных.
>>991640 >И первый тип сосет примерно как соснул вот этот хуй Он не совсем соснул. Во-первых разработка началась под актуальный конфиг компа 99 года, а закончилась, когда таких компов уже не осталось, отсюда большинство хитрых изъебств с графеном стали не нужны, но если бы игру запилили быстрее они пришлись очень кстати. Во-вторых его игру можно найти на торрентах и она вполне себе играбельна не хуже близовского старика. Для бородатого индюка из двухтысячных это сорт оф вин.
>>991640 А ты говоришь, как типичная вебмакака. Кроме скорости разработки есть еще много важных критериев, и по ним твои фреймворки сосут. Например, гибкость разработки и эффективность софта. Для клепания гостевух и вебшопов твой говнофреймворк еще годится, а чуть что сложнее или highload - и сразу начинается пердолинг с С++, архитектура микросервисов, fastcgi, вот это все. А когда я качаю какой-нибудь калькулятор на Qt, то охуеваю сначала от размера дистрибутива в 100Мб, а потом от уебищного интерфейса а-ля "Gnome в нулевых". Все потому, что затраты на поддержку кросплатформенности разработчик перенес на конечного пользователя. Ему же ничего не стоит еще восемь гигов памяти прикупить и новый винт. Но это отдельная большая тема, по которой очень много чего можно сказать, давай не будем разводить тут срач. Пусть каждый сам решает, пилить свое или использовать чужой код, новые Кармаки и Торвальдсы тоже нужны.
>>991697 >Например, гибкость разработки и эффективность софта. Но ведь в машобе гибкость разработки - это возможность в пару кликов запилить новую модель для тестов, а эффективность напрямую завязана на скорости матана, который в готовых фреймворках прокинут на всякие бласы, эйгены и ффтв, работающие на магии, ассемблере и изредка на С, скомпилированном под задачу в рантайме.
Как научиться подбирать правильные параметры Sequential в керасе? Сгенерировал рандомный датасет на два класса, учу модель, перебрал все возможные варианты losses, optimizers и activations со стандарными значениями, а у распознавания потолок все равно 80%
>>992052 >возможность в пару кликов запилить новую модель для тестов Это если дальше тьюториалов не отходить. Но однажды ты столкнешься с тем, что просто "запилить модель" для успеха недостаточно. Нужно делать что-то еще. Например, если я захочу гиперпараметры динамически во времени менять или даже датасеты? А если мне понадобится кастомный слой? Машоб еще очень сырой, и библиотеки для него тоже, их сочиняют на ходу.
>>990954 Честно - хз. Я считал точно так же как для полносвязной, толь с учетом того что, теперь связей у меня меньше. Получается, что дельта ошибки суммируется для последующего вычисления дельты веса. Прежде чем пробовать сверточную, желательно пробовать полносвязную.
>>992109 >полносвязную У полносвязной все легко получается из-за того, что там одна связь - один вес и легко все программится. Со сверточной надо смотреть не проебаться с индексами и краевыми эффектами, потом еще оптимизировать желательно код, т.к. не всегда с первого раза напишешь самую быструю версию.
Какое представление цветных изображений больше подходит для сверточной сети? Например, есть jpeg в RGB, его можно привести к трехмерному массиву со значениями от 0 до 255 (или от 0.0 до 1.0 (или от -1.0 до 1.0)). Какой вариант лучше? И еще: для цветных изображений больше годится двумерная или трехмерная свертка? Насколько я понял, в первом случае к R,G и B каналам фильтры применяются по отдельности, а во втором сразу ко всем (т.е. фильтр тоже имеет 3 канала).
Поясните за reinforcement learning. Вот есть такие вещи как openai gym и universe. И оно даже работает, но на уже существующих енвайроментах. А если я хочу свою среду добавить вместо не нужных мне атари игор, это возможно? Ничего не могу нагуглить, как там сделать чтобы работало на заданной пользователем среде.
>>993473 Скопирую из старого треда, ибо я даун Анон. Тупой вопрос. Как заставить нейронку рисовать? Тупой ньюфаг в этой сфере, да. Запилил лишь самую базовую (банальный массив х на у с пересчетом нейронов и обучением). Как нейронке потенциально скармливать что-то и как получать на выхоод что-то? Что юзать и что прикручивать? Куда копать?
Почему, когда я тренирую говнонейроночку на распознование пикч, нормализуя вход простым делением всех пикселей на 255, она упирается в 78-79%, но стоит заменить /255 на вычитание среднего и деление на стандартное отклонение, как точность падает до 62-65%? Ничего больше не трогаю.
>>993929 Меня интересует именно аутпут изображений. В духе тех, что ща в гугл плеях наводнили тоннами. Понимаю, что это через сверточную нейронку делается, но вот детали - полный туман просто.
>>994107 В первом случае у тебя распределение 0--1, во втором - -3--3. В чем разница? Наверное зависит от того, какие у тебя нелинейности и как ты их инициализируешь. А еще, скорее всего, у тебя адский оверфит.
Откуда брать картинки для обучения? Имагнет - хорошо, но очень многие урлы устарели, потому для значительной части классов очень мало. Гугл - обычно первые пикч 400-500 по теме, потом начинается дичь с мемасами. Хотел по фликру пошарить - но там зачастую метки вообще не соответствуют тому что на фотке.
Машобчан, посоветуй правильную литературу под мои нужды. Конечная задача: распознование изображений Текущая ситуация: джава макака, скачал Бишопа, так как начитался хвалебных отзывов. Но понял, что это пока не ля моего уровня. Хотелось бы что то поближе к программированию, но не слепое использование модных библиотек.
Привет. Я учусь на гуманитарной специальности. Этим летом планирую приступить к изучению математики и машинного обучения. Велика ли вероятность, допустим, через год-два подготовки попасть на стажировку или на работу в нормальную компанию без технического образования?
>>996430 зависит от того, насколько сильно будешь задрачивать и насколько слабая у тебя база. Есть вероятность устроиться менеджером в области машиночек, айти и тд. Сейчас у каждого второго студента техвуза нейронки в дипломе.
>>996725 Сжимают шикарно, аутоэнкодеры могут целый фильм сохранить как веса, но и потери большие. Это совсем не вариант. >>996726 Можно из чистого хулиганства, но лютый костыль же. Регрессия, классификация, кластеризация - вот хорошие области для нейросеточек.
Работаю в датасцайнс, если бы я потратил все это время и мыслительный ресурс на модные тырпрайз фреймворки, зарплата была бы в пару раз больше и у меня бы был свой холодильник для смузи на рабочем месте. Подумайте нужно ли вам это.
Как они это делают? Автокодировщиком? У меня нет идей. Ну допустим сверточной сетью извлекли фичи, а дальше-то что, как их обратно собрать с такой точностью.
Антоны, каким образом нейронная сеть обучаясь без учителя сможет контролировать обратный маятник. По сути это тоже ведь можно решить с помощью регрессии. Но каким образом нейроночка начинает подбирать значения?
Я личинка датасаентиста, через год хочу свалить на PhD в какое-то серьезное место, а для этого не последнюю роль играет тема диплома, который я должен защитить в своей шараге. Научрук алкаш и забил на меня, единственное полезное что он сделал это отправил читать Бишопа и заставил разобраться в математике. На него надежды нет, так что реквестирую годную тему рокет-саенс-диплома по машобу или ИИ. Где вообще можно посмотреть темы прошлогодних дипломов по сабжу в топовых зарубежных вузах?
Участвовал в прошлой хуйне http://fpi.gov.ru/activities/konkurs/spacemap, было довольно годно. Уникальный ни с чем не сравнимый экспириенс по обучению годной нейроночки на пиздецовом просто говнище вместо данных - редко такое встретишь. Хочется побольше конкурентов.
Если самому вкатываться, то ясен хуй трудно работу найти. А если есть вариант получить профильное образование за бугром на примете TUM, если получится подтянуть немчик - это сильно поможет в трудоустройстве в сфере DS/ML? знаю, что это совершенно разные вещи, но всё же
>>997235 > Регрессия ансамблями деревьев (только надо нагенерировать кучу признаков), если рядов много. Бустинг? Хгбуст например? А как генерировать признаки?
>>997488 Что значит "легко вкатиться в индустрию"? Пишешь пейперы, проекты, потом можешь с однокурсниками загонять стартапы гуглу или подаваться на позицию датаентиста. Без образования в это вкатиться нереально, тебе не будут воспринимать как серьезного соискателя. Профильный диплом известного вуза ставит тебя на уровень со всеми, игра идет на публикации, гитхаб, каггл и опыт работы.
>>997493 Спасибо! Первый адекватный ответ, который я встречал. А где можно почитать про этот путь подробнее? Статьи йоба-физика, криво и раком, но в итоге вкатившегося в сферу, уже читал, а вот описание своего пути человеком, который получил профильное образование, найти пока что не удалось.
>>997516 Единственное, что дает учреждение и такое вот, подобное образование - это возможности. Идти у университет за знаниями - глупость, ты должен заводить максимум знакомств и использовать возможности. Так что с такой позиции вкатиться в индустрию проще. Кстати, а сколько стоит обучение в таких вот местах?
>>997514 Постоянные лабораторки, а потом ресерч как-то не способствуют ведению блога, но я не вижу причин не поискать "become a data scientist blog", первый в выдаче так и называется. В этом пути нет никаких секретов - ты учишь реально много математики, какие-то бесполезные вещи, если повезет с преподом то сдаешь пет проекты в качестве семестровых работ. Как сказал >>997522 , в универе ты получишь знакомства, научного руководителя, какое-то наследие и финансирование - получить стипендию довольно просто (если ты девушка, то еще целая куча фондов будут бегать за тобой чтобы дать денег на то чтобы ты двигала науку). Все практические навыки должен приобретать сам, за ручку тебя никто водить не будет, только проверять соответствует ли твой скилл минимальным требованиям.
>>997533 Ещё раз спасибо тебе, добрый человек! Теперь более-менее понятно, куда двигаться. Надеюсь, из меня что-нибудь да получится, кроме уборщика в макдаке.
Антон, формула про вычисление мап. Почему у нас D через запятую стоит? >p(y|x, D) В книге написано In our notation, we make explicit that the probability is conditional on the test input x, as well as the training set D, by putting these terms on the right hand side of the conditioning bar |. Типа условная вероятность на тестовом входе x такая же, как у всего тренировочного набора D и поэтому их переносят на правую часть. А как тогда идёт деление, сначала на x, потом полученное на D?
>>998565 Понял, это же два разных набора данных. Кстати, а что с этим вычислением мы делаем потом? Полученное делим ещё раз на максимизированное значение x и d? И тогда уже получаем map?
>>979045 (OP) Ну всё, пацандре, я вот сегодня закончил курс по машин лернингу у себя в универе. Это такой интродакшн был скорее: обо всём по чуть-чуть. Но я многое узнал и запомнил, теперь буду знать хоть, куда копать если чё. Я вот теперь думаю, стоит ли пилить дипломку на магитра на какую-нибудь такую тему или не стоит? Слишком уж дохуя времени наверное уйдёт, да и ещё сама по себе тема сложная, я не знаю, как я с работой осилю. Да и тем более надо же придумать саму тему, где можно эту шнягу всю применить, да и то просто сравнением нескольких способов, решением какого-нибудь компетишена с каггла и небольшим анализом результатов отделаться на получиться, нужно что-то СУРЬЁЗНО будет делать наверное... Ужас короче, как меня эта дипломка изводит!
Антоны, помогите вспомнить книжку по нейронным сетям. Там еще код на питоне давали и объясняли. В начале, кажется, рассказывалось про решение проблемы деления информации на test и training сеты
Machine Learning: A Probabilistic Perspective, Murphy Блин, как же тяжело читать эту книжку, только сейчас допер до этой Map estimate, боюсь, что до матана в последующих частях буду добираться годами. Есть ли годные учебники по матану, что помогут разобраться с написанным там? Гугл далеко не всегда спасает.
Анон, подскажи куда двигаться дальше? Написал простую нейросеть, которая решает задачи прогнозирования (массив на входе с ответами, на выходе ответ на частный случай).
>>999787 >оцените ее годность. Выше среднего. Для умеющих в пистон вообще около 10/10, т.к. не только теория, но и конкретный код, что при желании поможет вкатиться в тему не простым слесарем, а с более глубоким пониманием как что работает и как реализовать общие для всего МЛ моменты даже под алгоритмы, не описанные в книжке.
>>1000018 >Где можно арендовать/попросить мощности? Вся же суть пистономартышек. Даже про облачные сервисы не слышали. Когда еще гугл для себя откроют...
>>1000091 По иронии, это буква эта и в керасе я ее руками не задаю. Два слоя, пулинг, дропаут, два слоя, пулинг, дропаут. Если результат меня устроит, срежу половину и попробую еще раз. Нейронов изначально задал 1024 (и вот тут меня ждало бы несколько дней с урчащей грелкой вобнимку), но поскольку времени мало, сократил до 128, скорость приемлемая, но волнуюсь за результат. Вообще, было бы полезно почитать про более осмысленный подбор гиперпараметров и добавить какой-то препроцессинг, оба этих пункта оставили на мою совесть или деньги мажоров с титанами.
>>1000096 Господи, у вас в пистоне нельзя даже альфу задать? Это пиздец, господа. А насчет нейронов в полносвязных слоях, для скрытого слоя я использую такую формулу (размер_входа + размер_выхода)^(1/2). Размер входа это количество выходных параметров после всей свертки. Меня эта формула еще не подводила.
>>1000098 Можно все, только в других пакетах или на самописной поделке, в керасе подбирается сама, кажется. Вообще, как раз надо поставить тренироваться один велосипед и сесть писать второй на нумпае - своя реализация нейроночки, forward\backward pass, обновление весов, активаторы, оптимизаторы, функции стоимости. Вот и разберусь как все устроено.
Еще один даун с лабой и керасом. Учу нейронку на распознавание 3 классов, по 1500 фоток на класс. Пробовал брать пикчи 60х60, урезать число цветов до десятков, делать 3-4 сверточных слоя по 16-64 фильтра на слой, херачить побольше макспулинга - в итоге максимум 68%, и то повезло, обычно 65% максимум. Беру 120х120, полный RGB от 0 до 255, 5 слоев от 32 до 128, всего 2-3 пулинг слоя, порчу картинки вращениями и сдвигами; предел выходит 75-78% на тестовых, но зато учит по буквально пол-суток. А надо хотя бы 80-85%, с хорошими результатами на фото с камер (на котором у меня итог куда хуже чем на фото из гугла, хотя камера более-менее, а в тренировочных данных много фоток с групп вк, лол).
>>1000148 Ах да, забыл про Dense - в первом случае 128-256, во втором 512-1024 Короче, какое из этих направлений в моем случае правильней и с чем лучше экспериментировать? Уменьшать вторую или увеличивать первую? Может, фильтры, которые стабильно 3х3 всегда, попробовать пощупать? Олсо, в обоих случаях оверфит начинается обычно с 7-9 эпох
>>1000153 Не ну а чо а почему бы и нет. Там много людей, кошечек и собак в среднем качестве, с камеры мобилки, как раз как мне надо. Основные данные конечно с имажнета.
>>1000148 Еще один даун не прочитал про bias-variance tradeoff. На тестовых у тебя 75%, а на тренировочных? Если тоже 75%, значит усложняй модель (тут или 120х120 тебе мало или бери inception+resnet, архитектуры типа VGG - самые тормозные, смотри пикрелейтед, а судя по описанию у тебя именно VGG со стэком сверток и пулингов), если 99, увеличивай число данных - или вращениями-поворотами (сдвиги НЕ нужны, сверточные сети к ним устойчивы by design), а еще лучше намайнить больше. И так до победного.
>>1000179 Кстати, про "намайнить больше" не пишут в научной литературе и кагле, которые заточена на победу в фиксированном датасете. Но в реальном мире это как раз основной способ, потому что рабочий день человека, размечающего данные, стоит раз в 10 меньше рабочего дня емельщика.
>>983326 Блядь, ты че, не можешь определение загуглить? Норма линейного пространства это отображение из V в R >=0 такое что ||av||=|a| ||v||, неравенство треугольника ||u+v||<=||u||+||v|| и что нулевую норму имеет только нулевой элемент. векторного пространства.
Есть большой датасет X_train и маленький x_train с лейблами y_train. Как в керасти претренировать модель на одном X_train и потом доучить на (x_train, y_train)?
>>1000589 Зависит от задач. Если googlenet тебе норм, то можно и на 750M обучать, как я делаю. Вот VGG уже в пытку превращается. Но мне проще поработать с датасетом на простенькой сетке типа alexnet, добиться максимума производительности, а дальше взять сеть покруче и или подождать пару дней, или взять AWS. И только сейчас я созрел до покупки чего-то покруче, но это не то, без чего нельзя жить.
Нейроны какие есть наиболее полные книги и ресурсы по обработке текстовых данных? Нероночки конечно заебись, но хотелось бы посмотреть на что-то кроме bag of words, tf-idf и word2vec.
Антон, поясни пожалуйста, что такое пространство весов, а то я что-то ничего не понимаю >We think about the weights that connect into a particular neuron, and plot the strengths of the weights by using one axis for each weight that comes into the neuron, and plotting the position of the neuron as the location, using the value of w1 as the position on the 1st axis, the value of w2 on the 2nd axis, etc Что такое particular neurons и strengths of the wrights А то я пока лишь понял, что весы у нас принимаются за оси координат и ориентируясь на них мы можем разместить нейроны, это правильно?
>>1001446 Не слушай его. Во-первых, у тебя будет научный руководитель. Правильное поступление, это когда ты поступаешь чтобы учиться-работать с конкретным человеком, с которым ты заранее познакомился в деловой (у меня было не очень деловой) переписке. Он пропихнет тебя в исследовательские группы и будет со всем помогать, потому вы связаны и ты тоже приносишь ему профит. Ну или если это старпер с перманентом, то будешь мыть полы в лаборатории и от него получишь только его имя на всех твоих пейперах, да пару внезапных встреч в году, во время которых он для профилактики тебя размажет. Университет это первая и самая многообещающая ситуация, в которой ты оказываешься вместе с наиболее близкими тебе по интересам людьми, некоторым она так нравится, что они пробуют еще и еще с разными наборами человеков.
>>1001453 Представь себе сетку из нейрона и двух весов. Тогда все возможные состояния такой сетки могут быть описаны парой чисел или точкой на плоскости. А обучение сети -- движением точки на плоскости по направлению градиента двумерной функции потерь. А теперь обобщи на случай миллиона весов. Все то же самое, только пространство многомерное.
>>1001466 >обучение сети -- движением точки на плоскости по направлению градиента двумерной функции потерь. Причем, для доказательства сходимости нейроночки достаточно показать, что дифференциал функции Ляпунова отрицателен в любой момент времени.
>>1001459 Ну хуй знает, я не представляю кто будет моим руководителем, слава богу мне еще больше года до этого. > которой ты оказываешься вместе с наиболее близкими тебе по интересам людьми, Как блять это поможет если никто с тобой не хочет общаться, Да никак.
Тут есть биомнформатики? Заканчиваю 6 курс, хочу в вкатиться в машобчик, что посоветуете, куда идти? Что-нибудь про Михаила Бурцева с его нейросетями можете сказать?
Каким образом нейроны из пространства весов размещаются в пространстве входов? Если нейроны из пространства весов меняют свое местоположение в зависимости от значений весов, то как устроено пространство входов?
>>1002520 >Каким образом нейроны из пространства весов размещаются в пространстве входов? Ты походу представляешь себе какое-то космическое пространство, где что-то где-то размещается. А есть просто нейроночка, которая является просто функцией вида выход1...выходN=f(вход1, ... входN, параметр1, ..., параметрN). Чтобы подогнать вход к выходу мы должны зафиксировать вход и выход и сделать границентный спуск в пространстве параметр1...параметрN. Отсюда собственно это пространство и возникает. А если ты фиксируешь параметры, то возникает пространство входных данных. А если ничего не фиксируется - еще какое-то пространство. И т. п.
Поэтому все обучение машобу и начинают с линейной регрессии выход=вход*k+b. Всего 1 вход, 1 выход и 2 параметра. Поэтому легко представить аналогии в 2д или 3д пространстве. А если ты сразу начинаешь работать с глубокими сетями, где у сетки миллиарды параметров и сотни тысяч входов с выходами, понятно, что нихуя не понятно, что происходит.
АНОН ПОМОГАЙ! Вот есть у меня классификатор. Он дает на тестовом датасете из 10 примеров 80% пресижона и 80% реколла. А вот есть другой классификатор, он на миллионе примеров дает 80% пресижона и 80% реколла. Можно ли как-нибудь обоснованно сравнить (а еще лучше - измерить количественно) их качество? На уровне ощущений понятно, что тот, который измерен на тысяче примеров более правдоподобед, но не знаю как это доказать. Память подсказывает что на втором курсе и лабах по физике что-то было связанное с коэффицентами стьюдента и хи квадратом, но я пока не уверен, туда ли я копаю.
>>1002915 Я про оценку точности классификации. Не может же оценка точности базироваться только на отношениями внутри конфьюжен матрикс, естественно, что чем больше выборка, тем более классификатор правдоподобен.
>>1002970 Да нет, конечно правдоподобность классификатора не зависит от того, как ты его тестируешь. Что изменится, так это доверительный интервал. Довольно бесполезная штука на самом деле, поэтому если интересно, поройся сам. То есть если в первом случае у тебя вероятность false positive 80+-3sigma1 с вероятностью 99%. Во втором - 80+-3sigma2 с вероятностью 99%, и там и там будет 80, но отличаться будет этот +-, ведь чем меньше ты протестировал, тем меньше ты знаешь.
p +/- Z_score_at_alpha * std_error где p = adjusted_recall=TP+2/(TP+FN+4) std_error = sqrt(adjusted_recall(1-adjusted_recall)/(N+4)) TP - true positive, FN - false negative, N - число в выборке, Z_score_at_alpha - какаую-то хуйня по типу коэффициента Стьюдента
Но это довольно бесполезная вещь, мы не ракеты производим, чтобы делать выводы по 10 образцам, сравнивать классификаторы нужно на одном датасете.
Как в играх с неполной информацией оценивать в какой момент был сделан ход, приведший к проигрышу?
Вот пример. Играю в покер. Мне на префлопе пришли ракеты (два туза). Это лучшая комбинация, которая может придти. Мы проходим флоп, тёрн и ривер и оказывается, что победил чувак, которому на префлопе пришли AK (туз и король), на флопе на столе лежал один короли, и на ривере пришел один король, таким образом он выигрывает с сетом из королей. Вот в какой момент решение не скидывать/коллировать/рейзить было неправильным? Или оно было правильным в любом случае?
>>1003263 Хорошо, и как это задавать? В смысле как распознавать ситуацию "этот ход правильный в любом случае". Не в контексте покера, а вообще. Перебором что ли?
>>1003284 Ну не совсем перебором. Есть такая тема как reinforcement learning, в частности, POMDP, марковский процесс принятия решений в частично наблюдаемой ситуации. Возможно, подобные алгоритмы и могут в покер, но количество партий для обучения должно быть большим.
Ну, посоветуйте чего-то там по математической оптимизации и всему подобному. Дабы легко разбираться во всех этих целевых функциях, имитациях отжига и прочим.
анон, а что насчет улучшения нейрочки после обучения, каким образом тот же предиктивный набор подстраивается под владельца? Можно как то "дообучивать" нейронку или как?
>>1003743 Т.е. ИИ эволюционирует и может взаимодействовать с внешним миром, ясное дело. Но это лишь вспомогательная возможность. Когда ИИ изучит окружающий Мир, Вселенную и то, что рядом с ней, на этом же эволюция не должна будет остановиться.
>>1003743 Это обучение не на данных размеченных экспертами, а на собственном опыте модели, взаимодействующей со средой, при этом она сама определяет как взаимодействовать. Видишь разницу.
Возникла идея в целях мам-саморазвития и изучения нейроночек на примере написать бота для одной древней пошаговой карточной онлайн-игры. Проблема в том, что там реплеи черезжопные, а именно -не видно карт ни того, ни другого игрока. Видна вся остальная информация - мана, ее прирост, ходы, хп и тд, а вот карт нет. Но при этом карт достаточно много, и при выборе хода, офк, надо обязательно учитывать текущую твою руку. Насколько отсутствие информации о возможных ходах в данном случае является проблемой при обучении? Как подойти вообще к обучению, чтобы это не сильно снизило итоговый % побед?
P(Ci, Xj ) = P(Xj |Ci)P(Ci) Антон, я правильно понимаю, чтобы найти совместную вероятность, надо сначала найти сколько Ci есть в Xj (условная вероятность) и потом умножить на Ci? В книге почему-то говорится находить условную вероятность и делить на число примеров из вообще любого класса. >We do this by looking in histogram bin Xj , counting the number of examples of class Ci that are in it, and dividing by the total number of examples (of any class). А в формуле из гугла, согласно Multiplication rulre умножение.
Я сворачиваюсь клубочком и плачу. Я выделил из объектов фичи, классифицировал объекты (там 50% принадлежат одному классу), подал всё на XGBoost, он натренировал свой лес так, что лес всегда отдаёт константу. Я стёр 80% фич и оставил только те, которые 100% (заведомо) имеют корреляцию с классом объета. xgboost всё равно отдаёт константу, но чуть другую. Я срезал всё кроме 3+2x2 фич (ещё 2 фичи всегда null). xgboost отдаёт третью константу. В 46% случаев он прав, но это бесполезно, потому что я и так знаю, что половина объектов принадлежит конкретно этому классу.
Что делать? Реальных объектов осталось мало, потому что я оставил только те объекты, которые имеют хотя бы одну из двух пар фич.
>>1004489 >>1004485 Замечательная библиотека. Чтобы передать параметр, надо его установить через SetParameter, а потом в fit передать любой Dictionary, его библиотека всё равно игнорирует.
В общем, я задавал gbtree, gblinear и dart. Если не задавать параметр, то XGBoost всегда возвращает 0.6091954. Если задавать любой из трёх, то возвращается всегда (при каждом запуске) немного разное 0.6091884 / 0.6091871 / 0.6091864. Но больше ничего не меняется. Функция Update точно запускается 100-1000 раз, тоже ничего не меняется. Кол-во деревьев тоже менял — тоже ничего не меняется.
Ни у кого нет возможности взять тот дата-сет, который я скинул http://rgho.st/8vTLNcg5b и прогнать в Питоне, например, или в Джаве? Может дело всё таки в дата-сете. Я уверен, что там есть корреляция
>>1004501 Если бы я хотел выучить R/Пистон, я бы их выучил. Сама библиотека в целом работает. На синтетических данных выдаёт то, что надо. Вот сейчас ещё синтетики генерю, чтобы убедиться
А что за язык R, в чем его фишка? Я смотрел примеры в гугле, какая-то хуита, построение графиков, это и на Visual Basic в Excel можно сделать. мимокрокодил
>>1004524 >А что за язык R, в чем его фишка? Язык для любой обработки данных, статистических вычислений, машинного обучения. >какая-то хуита, построение графиков, это и на Visual Basic в Excel можно сделать. В екселе нет 10000+ библиотек, реализующих сотни тысяч алгоритмов для любой работы с данными.
>>1004503 Пинаю керас в питоне, как реализовать конволюционный энкодер? У меня на вход подается картинка (32,32,3), а на выходе я хочу получить (8, 4, 4), но как бы я не делал, выводится ошибка что последний слой нейроночки ожидает получить (8, 4, 4), а получает (32,32,3).
>>1004503 Сук, эта либа меня затролила)) Я уже генерю сеты из рандомных значений, где output вообще не связан с input. Даже там библиотека каким-то образом умудряется возвращать разные числа. А на реальных данных — константу
>>1003477 >>1003426 Стоп-стоп. Что касается покера, там играются не карты, а человек. Само собой, что ты должен подавать на нейронки фичи, снятые с самих людей. Если ты играешь в покер карты, то ты игрой ошибся, братишка
Чем можно добиться хотя бы 50% на CIFAR-10, если можно учить всего на 5 000 изображениях из 50 000? Да, датасет тот же, но в нем только десятая часть, в этом суть.
>>979045 (OP) Только сейчас заметил: > В России потребителями ваших знаний могут стать: Яндекс, Mail.ru, Вконтакте, Rambler, Касперский, Билайн, Связной, ABBYY, Хуавэй. >Хуавэй >В России Наркоманы штоле?
>>1004533 у всех подобных библиотек на вход картинки ожидаются в формате (3, 32, 32). Свапни размерности и все будет работать. А вообще надо бы маны сначала было покурить, а потом вопросы задавать.
Pattern Recognition and Machine Learning, Bishop.
Information theory, inference & learning algorithms, MacKay http://www.inference.phy.cam.ac.uk/itila/
Machine Learning: A Probabilistic Perspective, Murphy
Introduction to Statistical Learning ( http://www-bcf.usc.edu/~gareth/ISL/ISLR%20Sixth%20Printing.pdf )
Elements of Statistical Learning ( http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf )
Foundations of Machine Learning, أشهد أن لا إله إلا الله وأشهد أن محمد رسول الله. http://www.cs.nyu.edu/~mohri/mlbook/
Fundamentals of Neural Networks: Architectures, Algorithms, and Applications, Fausett L.
А. Пегат, "Нечёткое моделирование и управление"
другое
http://libgen.io / http://bookzz.org/ - здесь можно одолжить ^ книги и не только
http://arxiv.org/find/all/1/all:+nejronochki/0/1/0/all/0/1
https://www.reddit.com/r/MachineLearning/wiki/index
https://vk.com/deeplearning и http://deeplearning.net/reading-list/
https://www.kadenze.com/courses/creative-applications-of-deep-learning-with-tensorflow/info тюториал по slesarflow
http://rgho.st/8g68fTCSx две брошюры по deep learning для слесарей.
http://kaggle.com - весёлые контесты. денежные призы
https://www.hackerrank.com/domains/ai/machine-learning/difficulty/all/page/1 - олимпиадки
курс от китаёзы
http://videolectures.net/mlss09uk_cambridge/
яп
1. http://julialang.org/
2. https://www.microsoft.com/en-us/research/project/infernet/
3. https://www.r-project.org/
4. питухон и так все знают
5. idris/coq - модные яп для формально верифицированных нейроночек с тренировкой на этапе компиляции
ПЛАТИНА
Книги хорошо, но с чего начать практический вкат?
Во-первых, вам нужна любая unix-based система. На Windows возможно запустить нижеперечисленное, но ждите пердолева с настройкой и неодобрительных взглядов анонимуса. Кроме того, в компаниях, так или иначе связанных с разработкой йоба-ПО и machine learningом, Linux/OS X является стандартом. Привыкайте.
Во-вторых, определитесь с языком. Python и C++ наиболее мейнстримовые инструменты, с ними вы без еды не останетесь. Есть еще R, на котором пацаны живут статистикой и анальными пакетами. Некоторые инструменты являются языко-независимыми (Vowpal Vabbit, XGBoost), но обвязывать их вы все равно будете из какой-либо среды.
На Java разработано много production-ready инструментов для бигдаты и если вы угораете по терабайтам данных, то имеет смысл посмотреть в её сторону. Впрочем, лучше это делать уже потом, когда прийдет осознание потребностей.
В-третих, выбирайте себе задачу. Что угодно: распознать качпу, обнаружить ботов по логам, найти раковых больных. Список можно посмотреть, например, на kaggle.com. После чего приступаете к решению выбранной задачи.
Не прийдется ли мне потом с таким наборищем знаний идти в макдак работать?
Несмотря на хайп вокруг ML, далеко не во всех IT компания есть необходимость в ML и понимание круга задач, которые можно решить этими методами. Но поверьте, в 2017 компетентный специалист будет востребован. В России потребителями ваших знаний могут стать: Яндекс, Mail.ru, Вконтакте, Rambler, Касперский, Билайн, Связной, ABBYY, Хуавэй. В биоинформатике есть определенный спрос, можно поскролить http://blastim.ru
Здорово, но я так и не понял чем же вы занимаетесь в IT компаниях?
Попытаюсь ответить со своей колокольни и сразу хочу предупредить, что это едва ли консенсуальное мнение.
ML-специалист - это такое зонтичное определение для человека, способного увидеть проблему, выгрепать кучу логов и данных, посмотреть на них, придумать решение проблемы и врезать это решение его в продакшн. По сути, это кодер, решающий не чисто технические, а, в некотором роде, человеческие проблемы.
Имхо, мы все же остаемся в первую очередь разработчиками.
Что такое TensorFlow?
TensorFlow - опенсорсный гугловый инструмент для перемножения тензоров и оптимизации функционалов. Опенсорсный - потому что даже важные куски типа параллелизации уже выкачены в паблик. Если вам все ещё непонятно что это, значит это вам и не нужно, сириусли. Google перестарался с рекламой и теперь люди думают, что TF - это серебряная пуля и затычка для каждой бочки. До TF был Theano, который выполнял свою работу не хуже. И, в отличии от TF, он уже находится в стабильной фазе.
будет ли ML нужен в ближайшие 10 лет, или это просто хайп?
будет. хайп.
смогу найти работу?
Яндекс, мейлру, касперский, несколько биоинформатических компаний (iBinom, можно еще blastim.ru поскролить на тему работы), билайн (они с НГ целое подразделение открыли под ML и биг дату), связной. Ну и западные аутсорсы, если готов рачить за валюту.
нужна математика?
для начинающего ничего особого знать не нужно
https://www.amazon.co.uk/Calculus-Michael-Spivak-x/dp/0521867444
https://www.amazon.co.uk/dp/0534422004/ref=pd_lpo_sbs_dp_ss_2?pf_rd_p=569136327&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=0980232716&pf_rd_m=A3P5ROKL5A1OLE&pf_rd_r=3TZ38AZ2BY28R19H4SA5
https://www.amazon.co.uk/Calculus-Several-Variables-Undergraduate-Mathematics/dp/0387964053
https://www.amazon.co.uk/Introduction-Probability-Dimitri-P-Bertsekas/dp/188652923X
"основы теории вероятностей" Вентцель
поясните за нейроночки
нейроночка - массив
шад)))
Нет там ничего ML-специфичного, знание матана и теорвера на уровне заборостроительного вуза. Теорвер проходится на третьем курсе, как раз 20 лет.
Рандомный хрен туда не сможет поступить, потому что планка намеренно задрана, а не потому что там такая охуенно сложная программа. Это традиционная наебка "элитных учебных заведений", в которой учат так же хуево, как и везде, но за счет отбора поступающих якобы формируются неебовые успехи, которые объясняются именно качеством преподавания.
Иными словами, у тех, кто способен поступить, и так в жизни проблем с трудоустройством не будет.
Тред #1: https://arhivach.org/thread/147800/
Тред #2: https://arhivach.org/thread/170611/
Тред #3: https://arhivach.org/thread/179539/
Тред #4: https://arhivach.org/thread/185385/
Тред #5: https://arhivach.org/thread/186283/
Тред #6: https://arhivach.org/thread/187794/
Тред #7: https://arhivach.org/thread/196781/
Тред #8: https://arhivach.org/thread/209934/
Тред #9: https://arhivach.org/thread/223216/
Тред #10: https://arhivach.org/thread/234497/
Тред #11: https://arhivach.org/thread/240332/
Тред #12: https://arhivach.org/thread/246273/
Тред #13: https://arhivach.org/thread/256401/