Назначение продуктов на блогеров по матрице профита это классический Linear Assignment Problem. И никаких контрастных пиков искать не надо. См. питоновский lapjv
А потом grisha выпускает следующую версию gowebapp, ломает обратную совместимость — норма для Go библиотек, — и при очередном деплое все благополучно наворачивается.
Либо использовать какой-нибудь godep, либо вручную клонировать по хешу, либо gopkg.in.
Правильно поняли результат. Как писал товарищ выше, при данной постановке задачи становится возможным применить весь багаж знаний Language Modeling. Широко известно (могу дать ссылки на статьи), что RNN в такого рода задач порвал все остальные алгоритмы на тряпки. Насчет памяти — зависит от размера компании. В стартапе на 30 человек никто адекватный не будет упарываться писать нейросетевые аллокаторы для экономии 10% памяти / ускорения 10%. В Гугле или Фейсбуке этим упорется целый отдел из 100 человек и 10% принесут им миллиарды прибыли.
Самое главное: про то что такой аллокатор вообще можно написать. Я не пробовал, я уже не крутой системщик. Пока никто не пробовал. Может, эта статья кого-то заинтересует и родится новый интересный проект. В т.ч. наш CEO как всегда очень впечатлился и уже бьет копытом делать новое направление.
Я уверен что так оно и есть, особенно применительно к Героям. Но не проверял. С веб сервером тоже бы получилось, у них нагрузка вообще всегда однотипная.
В ооочень далекой перспективе) Пока что это зубрежка частых паттернов у программиста и подражание им.
Выглядит примерно так:
Сеть выучила что если берут остаток от деления на два, то потом его либо проверяют на равенство, либо на неравенство, и никогда на больше-меньше. Всякое такое.
Публикация плохо совместима с той кучей работы, которую нужно сделать в коммерческой компании :) К примеру, https://arxiv.org/abs/1704.00135 (IJCAI'17) отнял в общей сложности недели 3 тупо на подготовку, оформление, верстку и доп. исследования. Не уверен, получится ли повторить этот подвиг снова. Впрочем, тогда тоже все началось с поста (перевод на Хабре).
Согласен про оверкилл. Не было времени поисследовать зависимость качества от числа нейронов. С другой стороны 20 миллионов сэмплов в датасете и хотелось сразу получить ответ — работает или нет. LM я как раз держал в голове при подготовке статьи, NLP вообще имеет удивительно много общего с исходным кодом. На конференции зайдет речь про нейросетевой snippet suggestion, прикольная штука и тоже по сути LM.
КМК запросто могли забыть seed() у генератора рандома вызвать, так что все экземпляры обращаются к одинаковому «случайному» адресу. И это конечно полный фейл.
Расширение кругозора — более чем достаточная причина
Это универсальная отмазка, которая не работает для очень занятых людей, для которых время дороже денег.
Такие языки, как Lisp, Scheme, Ada, C и Smalltalk — нужны всем.
Очень сильное утверждение. Не всем. Среднестатистическому фронтендеру пригодится знание C? Ох, вряд ли. Разумнее потратить это время на изучение очередного фреймворка, чтобы скакнуть в новую компанию с повышением зарплаты, компетенций и новыми задачами, или на написание своего. Нужен ли Lisp инженеру машинного обучения? Нет, не нужен. Гораздо разумнее потратить это время на новые статьи, ведь их выходит столько же сколько фреймворков JS если не больше или на Kaggle. Есть ли польза от Smalltalk для Linux kernel developer-а? Сомневаюсь. Им лучше потратить время на сборку ядра (шутка). Остатется не так много групп — бэкенд и прикладники.
Работа по нему есть — не очень много, но безработных спецов я ещё не видел. И платят очень хорошо.
Не убедительно. Работа на Коболе тоже есть. И платят там реально очень хорошо. Какой средний возраст программистов на Smalltalk? Как много новых проектов выходит в единицу времени? Это важно, т.к. если ты выходишь свежий из интитута, заниматься некромантией это одна их худших идей, которые могут прийти в голову.
Как странно читать перевод собственной статьи :)
В качестве бонуса: с тех пор люди прислали несколько других вариантов. В первую очередь это SOM т.е. Кохонен. С этими сетями проблема в том что они рассчитаны на кластеризацию, и может оказаться так что несколько точек попали в одну ячейку. Еще есть IsoMatch, который на самом деле тривиальная обертка над Isomap-ами, которые в свою очередь альтернатива t-SNE. Так себе альтернатива. Наконец, есть Kernelized Sorting, там надо много раз подряд решать LAP все тем же алгоритмом JV. Скейлится такая штука плохо, т.к. даже один прогон JV на 10к точках проходит дольше t-SNE.
И кстати я не открыл Америку, первым эту технику применил Кайл МакДональд, кстати он очень крут и пытается масштабировать маппинг на миллионы точек.
Назначение продуктов на блогеров по матрице профита это классический Linear Assignment Problem. И никаких контрастных пиков искать не надо. См. питоновский lapjv
А потом grisha выпускает следующую версию gowebapp, ломает обратную совместимость — норма для Go библиотек, — и при очередном деплое все благополучно наворачивается.
Либо использовать какой-нибудь godep, либо вручную клонировать по хешу, либо gopkg.in.
Самое главное: про то что такой аллокатор вообще можно написать. Я не пробовал, я уже не крутой системщик. Пока никто не пробовал. Может, эта статья кого-то заинтересует и родится новый интересный проект. В т.ч. наш CEO как всегда очень впечатлился и уже бьет копытом делать новое направление.
Выглядит примерно так:
Сеть выучила что если берут остаток от деления на два, то потом его либо проверяют на равенство, либо на неравенство, и никогда на больше-меньше. Всякое такое.
Согласен про оверкилл. Не было времени поисследовать зависимость качества от числа нейронов. С другой стороны 20 миллионов сэмплов в датасете и хотелось сразу получить ответ — работает или нет. LM я как раз держал в голове при подготовке статьи, NLP вообще имеет удивительно много общего с исходным кодом. На конференции зайдет речь про нейросетевой snippet suggestion, прикольная штука и тоже по сути LM.
Речь в статье точно не о новом, а скорее об истории ЯП. Хотите новое — изучайте Ликвид Хаскель, Раст, Елм.
Очень сильное утверждение. Не всем. Среднестатистическому фронтендеру пригодится знание C? Ох, вряд ли. Разумнее потратить это время на изучение очередного фреймворка, чтобы скакнуть в новую компанию с повышением зарплаты, компетенций и новыми задачами, или на написание своего. Нужен ли Lisp инженеру машинного обучения? Нет, не нужен. Гораздо разумнее потратить это время на новые статьи, ведь их выходит столько же сколько фреймворков JS если не больше или на Kaggle. Есть ли польза от Smalltalk для Linux kernel developer-а? Сомневаюсь. Им лучше потратить время на сборку ядра (шутка). Остатется не так много групп — бэкенд и прикладники.
Не убедительно. Работа на Коболе тоже есть. И платят там реально очень хорошо. Какой средний возраст программистов на Smalltalk? Как много новых проектов выходит в единицу времени? Это важно, т.к. если ты выходишь свежий из интитута, заниматься некромантией это одна их худших идей, которые могут прийти в голову.
А могли бы на Центрифуге сделать…
В качестве бонуса: с тех пор люди прислали несколько других вариантов. В первую очередь это SOM т.е. Кохонен. С этими сетями проблема в том что они рассчитаны на кластеризацию, и может оказаться так что несколько точек попали в одну ячейку. Еще есть IsoMatch, который на самом деле тривиальная обертка над Isomap-ами, которые в свою очередь альтернатива t-SNE. Так себе альтернатива. Наконец, есть Kernelized Sorting, там надо много раз подряд решать LAP все тем же алгоритмом JV. Скейлится такая штука плохо, т.к. даже один прогон JV на 10к точках проходит дольше t-SNE.
И кстати я не открыл Америку, первым эту технику применил Кайл МакДональд, кстати он очень крут и пытается масштабировать маппинг на миллионы точек.