Комментарий
Важное замечание от Rich Sutton, что весь прогресс в AI в конечном итоге определяется грубой вычислительной силой, а не хитрой алгоритмикой
У него не так написано все же "We have to learn the bitter lesson that building in how we think we think does not work in the long run."
Я бы сказал так - in the short term оно все равно актуально. Особливо если мы говорим об инженерии, а не о науке.
К примеру, в работе с текстами простые рабоче-крестьянские TFIDF+линейная модель+опционально ngrams работают очень даже не плохо, и не факт что хитроприготовленная нейросетка их существенно победит. Да, оно наверняка победит, но может это будет доля процента точности. Далеко не всегда это будет стоить возни с нейросетками.
Далее, можно рассмотреть low-rank factorization/embeddings - всякие там word2vec/fastText/starSpace и подобные модели, т.е. некоторое усложнение линейной модели, можно сказать - специализированную двухслойную нейросетку. Поскольку они специализированные, то и алгоритм обучения заточен под это дело и шустро работает без GPU. Опять же не всякая нейросетка более сложной конструкции это победит без существенных затрат ресурсов. Хотя сейчас вроде научились нейросетки на тексте обучать, т.е. допустим победит. Но не факт что выигрыш будет стоить бОльших затрат ресурсов в случае нейросетки более общего вида.
Хотя in the long run конечно же нейросетки потихоньку и текст наверное захватят, но очень сомневаюсь что окончательно. Т.е. например если речь идет о работе с сотней моделей одновременно, то все равно будет проще, если это будет сто линейных моделей. Нежели сто LSTM/GRU нейросеток. Хотя если сперва будет идти один слой из LSTM фич, а потом сто линейных моделей - то почему бы и нет?
Чуть чуть обобщив - допустим мы делаем усреднение кучи моделей (например, после ресемплирования датасета по разным причинам, начиная от строительства ансамбля или какой-нить редукцией). Усреднять линейные модели всяко сподручнее нейросеток. Хотя, опять-таки, если сперва идут общие нейросетевые фичи, а потом сотенка линейных моделей - то почему нет?
Или взять к примеру Netflix приз - там для получения крутого результата важную роль играли нейросетки - для blending'а результатов работы простых моделей. Но на практике-то это слишком тяжеловесно! Хотя для победы в соревновании и необходимо.
Но вот когда мы смотрим на модели, чьи результаты ансамблировались, то там сплошь и рядом кастомные версии достаточно простых моделей - факторизация матриц (SVD++, timeSVD++ etc) и RBM (которая есть по сути нелинейность поверх той же самой факторизации).
Или возьмем случай когда у нас действительно очень много всяких данных - ну там десятки/сотни мильенов примеров, и кол-во фич некислое (допустим мы интеракции их тоже берем). Нейросетками тут можно замучиться. Даже линейными методами можно замучиться. Чисто в силу объема данных.
Грубо говоря, современные линейные модели МЛ обучаются за линейное время от кол-ва фич (ненулевых элементов в дизайн матрице). Т.е. трудно придумать более быстрый алгоритм, ибо надо же хотя бы по разу предъявить ненулевые фичи (иногда можно и не предъявлять, если датасет избыточный, но все же).
И с линейными моделями можно как-то пытаться исхитряться.
Хотя наверное потом придут нейросеточники и придумают как те же методы адаптировать для нейросетей. Или запараллелить на 1000 GPU.
В заключении, я бы сказал что я лично прогресс вижу в хитрой алгоритмике, но потом железо подтягивается, нейросеточники подтягиваются, потом это дело до фреймворков доходит. И кагбэ может уже да, смысла нет в хитрой алгоритмике, ибо дешевое железо и хитрая алгоритмика другого рода (как ловко обучать нейросетки) делает так что проще стандартными решениями действовать.