Pull to refresh
25
0
Хмелев Александр @akhmelev

программирование и AI

Send message

Да, проблема важная затронута и в ML по сути ключевая.

Но вот какое дело... Подавляющее число данных обо всех событиях человека, компании, бизнеса, сайта практически свободно доступны гигантам вроде гугла. С телефонов и аналитики сервисов такого гиганта есть просто море информации. И гео, и коммуникация, и активности, и расходы с доходами, где был, что искал, что выбрал, что лайкал... В общем ВСЁ! Эти данные структурированы, размечены, объемны. Могут быть валидированы. Любой срез в любой сфере возможен. Для экспериментов просто невероятное поле. Корпус для обучения под нужную сферу собрать - легче простого. А "простым смертным" позволено лишь архив своего собственного поведения получить. Качал как-то, то что есть у гугла на меня - даже без документов, файлов, фото и видео за гигабайт выскочило.

А по прекрасному совпадению эти же гиганты еще и лидеры ML. Итого: их мощности (датасеты) недоступны рядовым исследователям. Ну а сами рядовые исследователи свои модели все чаще в тех же облаках тех же гигантов гоняют. Свои датасеты туда льют. Удачные модели УЖЕ в облаках вероятно видны. Им. Гигантам.

Дальше несложно сложить 2+2. Это будет даже не монополия. Это что-то божественное скорее. В общем, полагаю, нас ждут удивительные времена.

Давайте я вам свое расскажу за монолиты. За то как я на них погорел. Люблю их до боли. А все почему?

  1. Писал всегда только монолиты. Что пишу - то и люблю. Иначе вот не получается как-то.

  2. Всегда практически все полностью сам от начала до конца, от кода до развертывания. Типа самоделкин. Ну или фуллстек, как нынче принято. Приятно. В этом есть смак. Костыли, не костыли - нет проблем. Пока помню свою же архитектуру - вопросов ноль. Паттерны - по желанию. Есть страшные magic-куски и phd-code, да не беда, замечательно же. Приятно даже иногда.

  3. Жаба мое все уже лет 8-10. Но вот недолюбливаю спринги с хибером и вообще любые фреймворки. Почти всегда можно самому сделать все, что они предлагают, и обычно это легко и просто. Обычно легче. Обычно производительнее. Обычно понятнее. Обычно удобнее. Свои DI и IOС, свой пул препередстейтметов без вымывания кеша, причем не ручками а рефлесией наделанный - ну вот что может быть проще.

  4. Ненавижу всякие улучшайзеры и облегчаторы. Ломбок - как пример. Предурацкая же вещица. Типа - скажем нет бойлерплейту, а на самом деле втихую он же именно его и генерит. Ну вот какой в том смысл - загадка. Макрос в IDE - влегкую такое умеет.

  5. и т.д. и т.п. Могу долго ныть == выпендриваться.

  6. Почему все это плохо? Да потому, в основном, что мне полсотни лет в обед погожего августовского дня было.

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

    Что? А вот что: круд за утро накатать, к обеду затестить, а вечером надо закрыть таску и ждать CI+CD, которые желательно, чтобы не ругнулись даже. Те кто будут этот ваш круд дергать в него никогда не заглянут. Некогда. Все в гонке.

    За углом на питоне модель предсказания рынка вашего стека парни в кластере катают, а за другим углом из айфонового и флаттерного миров к вам постучали мобильные разрабы, за третьим на котлине хотят стильно-модно-молодежно, за четвертым на сях переписали узкий кусок или jvm на нейтив решили заменить. Плюс если бизнес взлетает, то надо за вечер его отмасштабировать в ширину и глубину. И? Вот и все. Вот вам они - микросервисы. Вот 12-ти факторные приложения, с очередями и реактивщиной. Вот он - 21 век, прошу любить и жаловать.

    А еще, вот вам и вывод: монолиты - лепота, но увы, пока-пока. К ламповым приемникам и винилу плиз.

Просто мысль. Может тогда в самом приложении можно повесить прозрачный слой с OpenGL над вьюшкой с картами? Нижний идёт к Яндексу, верхний на ваш rest к базе. Андроид толком не знаю, но представляется маловероятным, что это невозможно.

Кроссплатформенность конечно улетит в даль далёкую и для браузера/айфона будет(ут) уже другое(ие) решение(я). Поэтому бек скорее всего не сильно полегчает. Но на войне как на войне, оптимизации - это почти всегда адский ад, зоопарк и раздутый код.

Так ведь есть же syncthing — готовое простое решение. Без рута, за 5 минут всего, с UI для домохозяек, опенсорс и т.д и т.п. Но правда в телевизор все сбрасываю с винтом подключенным по USB, а не в старый телефон. Но уверен, что старый телефон был бы не хуже, в телеке процессор совсем печальный, и даже он пока справляется.

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


Очевидны и ясны ошибки проектирования системы образования вообще-то. И на уровне отбора кадров, и на уровне финансирования, и в плане целеполагания. Три толковых спеца легко и просто заменят кафедру на 30 человек, ну уж в IT — точно. Автотесты+видео+текст+лайвкодинг — и очень многое можно сделать.


Но кто-то из распорядителей финансовыми потоками должен
а) определить что эти трое вместо 30 — это реально спецы
б) отдать весь зарплатный фонд именно им, а не экономить на сокращениях.


Т.е. зп поднимать нужно в 10 раз, сокращая попутно море тётушек и дедушек. И вот тогда волшебство — если условный тимлид/синьор видит, что вот тут зп выше чем у него, легко понять куда он пойдет впахивать. В ВУЗ. И через пару лет — гарантия результата. Правда тётушкам и дедушкам кушать станет нечего.


Но… все как есть так есть. И скорее всего таковым оно и останется...

Смотря какой ВУЗ вообще-то. В русскоязычной части, например, ИТМО может очень сильно изменить вашу точку зрения. Не говоря уже про ВУЗы планеты.

Зарядка не стоит в общем-то ничего. Уже скоро 10 лет как я беру лампочку ближнего света или от фильмоскопа на 6 вольт, 3-4 мощных диода (падение 0.7V на каждом) и БП от ноута на 19V — соединяете все это дело последовательно и вуаля — заряжайте сколько душе угодно. Крутые зарядники сделают конечно получше, но лишь на 5-10% да и то не факт.


И ключевой момент: обязательно выключить при достижении максимально рекомендованного производителем АКБ напряжения. Для приведенной Ca-Ca это 16V и это важно. Ca-Ca это вообще важно. Другой акк так убьете.

В современном Skype нет UML и внятного проектирования, а в Telegram очевидно есть. Сравнить нетрудно. И совершенно ясно, что грамотно спроектированная система заведомо лучше тупо нашлепанной по фидбекам. Причем фидбек в грамотно спроектированной системе даже не исключается.

Но! Бизнес - это не инженерия. По крайней мере современный его этап. Суть не в UML, а в инженерном или маркетинговом подходе. Маркетологи почти всегда побеждают инженеров, пока продукт покупают люди. Сделать крутой продукт это 5 процентов работы. Раскрутить и продать - вот где реальные события разворачиваются.

А значит - UML неизбежно мертв. Пока в строгих нотациях пилится архитектурно красивое решение у маркетологов (читай бизнеса) уже три раза концепция продукта поменялась. UML просто не успевает в этой дикой гонке. Даже не UML, а инженерия.

Выход есть - фреймворки. Набор кубиков на все случаи жизни. Условный Spring на backend все больше и все страньше. Но он решает проблему скорости. Скорости разработки. На frontend та же история, тоже фреймворки. И все. UML мертв.

Я же просто пошутил ;). Но познание и даже самопознание (в полном объеме) — да, невозможны, тут я с вами полностью согласен. И не я один.


А ваша статья реально классная!

Краткое содержание: сферический конь в вакууме как инструмент познания самого сферического коня в вакууме сферическими конями в вакууме.

Вывод: сферический конь объективно существует, описывает все, но пока не найден. Он же есть Бог и формула. Формула всего.

Это перестанет быть шуткой если вам много лет и/или вы действительно много учились. Скорее всего. Но не факт :)

Когда на горизонте появился Паскаль мы учили Фортран. И все тоже потом на окончании универа ныли, что Фортран отстой и зачем мы его учим, когда вот же есть Паскаль с турбовижн - крутейшая круть на которой крутой софт пишут. А Дельфи и вовсе космос. Но циклы разветвления и рекурсии и на Фортране и на паскале являются одним и тем же объектом для изучения.

Правда в том, что все тупо хвалят СВОЙ язык. На котором работают просто. Сейчас. Но мыслить стоило бы шире, язык для работы и язык для учебы ДОЛЖНЫ быть разными. С учётом динамики IT Java сейчас и Java пять лет назад не очень то похожи, хотя это один и тот же язык. Можно начинать возмущаться, почему мы не учили функциональщину, она вон как нужна. То же самое и в вашей претензии. Не было в этих ваших универах тогда го. Его и в мире не было. Как его учить то?

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

Вывод: не ругайте другие языки. Даже уходящие. Это глупо. Просто в недалёком завтра Скала Пайтон и Го будут древним отстоем, не сомневайтесь. Выход в том, чтобы знать просто больше. В том числе и языков. Разных.

del, холиварчик намечается....

Берите как можно более дохлый. На i3 уже 4 года как часы работает. И не горячий наощупь. В черном корпусе как на картинке выше. А вот второй на i7 и больше и круче и дороже, но да. Малейший чих со стороны графики и он просто выключается. Eglobal оба.

Трансформатор старинного роутера, блока питания чего-то еще, холодильника, не говоря уже о любой включенной в доме лампочке накаливания — вот же вам море шунтов. И все параллельно )). Так что суперизобретение. А исполнение, таки да — Китай 2000 года.

Но Сюткин не уточнил, что если шар действительно идеальный, то любые две траектории (с таким временем) гарантированно пересекаются в точке нулевой гравитации )))

Я абсолютно не против, и не воспринимайте пожалуйста как критику. Да и слово "пара" я не писал.


Но согласитесь, объем, а еще точнее качество именно технического контента последние годы страдает на ресурсе. Я еще помню то время, когда в RSS у меня было всего 15 хабрастатей в день и я читал их все от корки до корки. И пробовал код. И ходил по линкам смотреть либы, и изучал githubы.


А сейчас в иной день будет и три, и четыре сотни, и все — какие-то заметки, без технического смысла. Не статьи. Это ЖЖ просто какой-то. Вы тут совершенно ни при чем. Хотя у вас, да, заметка (на мой конечно взгляд), но комментарий был не об этом.


Он — скорее о Хабре. В целом. Извините, если вас это как-то задело.

< офтопик>
Когда-то в давние-давние сказочные времена жили-были жители Хабра, и гласит старинная легенда, что это был самый лучший, самый профессиональный, самый Технический ресурс Рунета. Но жадному злому НЛО нужны были монеты, много монет, на сервера его забитые да перегруженные.


И не стало старого доброго Хабра, не торт он ныне. Об иных странах, психологии, обучении, эзотерике, товарах дешевых, рекламе меркантильной, да хабах компаний, жадных до трафика, ныне весь сказ… Но вдруг, когда-нибудь, однажды, прилетит вдруг Мандалорец, в голубом вертолете, и пропатчит KDE2 под FreeBSD… Вера есть великая в это ;)
< /офтопик >

Извините, но ворчливо покритикую: инструмент для данной задачи выбран абсолютно неадекватно. Вы же упомянули уравнение Беллмана, а его главный итог не применяете почему-то.


Эта постановка задачи — она не про нейронки, а про классическую классику из середины прошлого века: динамическое программирование. Или даже так: динамическое программирование Беллмана.


Соберите матрицу штрафов такого размера, как поле где бегает мышка. Заполняйте ее возможными шагами (варинты — вниз, влево, вниз+влево + 1, попал на кота + 1e10), т.е. вам нужно для каждой ячейки найти откуда в нее прийти дешевле всего. Вот и все, тогда обычный за двойной цикл с if на 4 варианта внутри легко вы найдете оптимальную траекторию мышки. Останется лишь восстановить траекторию. На все про все O(n^2). И гарантия математической оптимальности решения. А что предложили вы? Заменить if на НЕЙРОНКУ. Но...


Нейронки они не для этого. Совсем. Они нужны там, где НЕВОЗМОЖНО алгоритмизировать решение. Обучить многослойную ИНС — это пятерной вложенный цикл (O(n^5)). Сверточная — семерной. С ГА-адаптацией девятерной.


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


Все эти эксперименты имели бы смысл только, если вы изучаете новую какую-то архитектуру ИНС, например, и хотите доказать ее более высокую производительность или способность к распознаванию. У вас это не так, если я верно уловил постановку. У вас поиск гипотенузы через "тройные интегралы по контуру" ;).


В общем, только один вопрос. ЗАЧЕМ?..


Конец ворчливой критики.

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity