Comments 13
Спасибо за статью, но всё же она скорее разочаровала, чем наоборот.
1. На фразе «для большинства задач либо не существует глубинной нейросети,… » мне резко вспомнилась теорема Колмогорова, дающая обратное вашему утверждение.
2. Вы сказали, что для её чтения нужен «значительный опыт» работы с DL, в статье же 90% воды, которую дают в рамках самого введения в DL.
3. Упомянуть об RNN стоило в тот момент, когда вы говорили, что сети в отличии от человеческого интеллекта не способны на «долгосрочное планирование»( LSTM, GRU, ...)
вспомнилась теорема Колмогорова, дающая обратное вашему утверждение

Если Вы про теорему о суперпозиции, то она говорит о приближении непрерывной функции. Автор говорит, что
большинство программ нельзя выразить в виде непрерывного геометрического морфинга многообразия данных
– то есть как раз о том случае, когда теорема не работает.
Теорема о суперпозиции говорит о точном выражении непрерывной функции (см вики). Насколько я понимаю, любая функция, множество точек разрыва которой имеет меру 0, может быть с произвольной наперед заданой близостью (в смысле интегральной меры) приближена некоторой непрерывной функцией.
Учитывая, что я никогда не слышал о реальных промышленных задачах, в которых фигурировали бы функции с множеством точек разрыва меры более 0, а также то, что обычно нам подходит сколь угодно близкое решение, а не только точное, проблемы здесь нет.
1. На фразе «для большинства задач либо не существует глубинной нейросети,… » мне резко вспомнилась теорема Колмогорова, дающая обратное вашему утверждение.


Теоремы утверждают существование, но не приводят конструктивного способа построить глубинную нейросеть по набору примеров.

Так что всё правильно написано. Пусть и в «популярном», а не строгом математическом смысле.
по п1:
вы просто не дочитали, или недопривели цитату, там дальше самое главное идёт «практически подходящего размера»
Это как с машиной тьюринга — класс теоретически разрешимых через неё задач достаточно широк и иногда это удобный способ доказательства разрешимости какой-либо проблемы, но никто не спешит решать практические задачи с помощью машины Тьюринга.
Мне навскидку кажется что нетрудно показать эквивалентность инструментария нейросетей и например вычислимых по тьюрингу функций (вроде базис для частично рекурсивных функций строится без особых проблем). И после этого можно говорить, что многие задачи теоретически разрешимы, но размерность сети, получаемой влоб для этой разрешимости мягко говоря будут далеки от практического применения

"Драматически расширит" — так по-русски не говорят. "Существенно расширит", например. Или "значительно расширит". Переводить в данном контексте dramatically как "драматически" — ложный друг переводчика.

Такое ощущение, что автор не понимает того, о чем пишет.
Естественно, сети RNN всё ещё ограничены в том, что они могут представлять
Известно, что рекуррентные нейронные сети Тьюринг-полны (объяснение на stack exchange, в нем есть ссылки на научные статьи). То есть, для любой программы можно подобрать рекуррентную нейронную сеть конечного размера (в статье рассматривалась сеть из около 1000 элементов), которая ее реализует. Собственно, все предложения о том, что неплохо бы еще расширить выразительную способность RNN, которые приведены после этой фразы, можно вообще не читать.
Что RNN Тьюринг-полны, понятно. А есть конструктивный способ получить нужную RNN-сеть по спецификации?

Автор, наверное, имел ввиду RNN-сети И методы их обучения. Есть ли на сегодняшний день методы обучения RNN-сетей, которые бы позволяли получить сети по спецификциям? Нет. Нужны другие методы.

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

Так что продолжаем чтение ;)
Потрясающая статья.

Хотелось бы задать вопрос касательно Тьюринговской проблемы остановки: если мы используем генетические алгоритмы которые по-разному комбинируют примитивные алгоритмические конструкции для создания програмных модулей, а критерием завершенности такого модуля является соответствие входных и выходнях значений спецификации — то каким образом будут отбраковываться зависающие решения, например с бесконечными циклами?
Наверное, достаточно подождать N тактов: если программа не выдала результат, то она отбрасывается.
Понятно, что N может как-то зависеть от спецификации. Например, если сети нужно сгенерировать функцию сортировки, то N может быть пропорционально квадрату размера входа.
Перевод на самом деле хорош. Сейчас такаго качества перевод — большая редкость.
Хорошая статья. Жаль, читаю так поздно)
Насчёт того, что DL не может подобрать любую функцию — это… И да, и нет. Если задача подобрать именно функцию, как это понимают математики, но подобрать её может даже XGBoost, со сколь угодно большой точностью. Затратив дохрена данных и, скорее всего, безо всякой способности к обобщению. Обобщить любую функцию нейросеть и правда не может: нейронка с функцией активации relu не сможет подобрать экспоненту, если мы тренируемся на промежутке от 0 до 1, а тестируемся — он 10 до 20.
Значит ли это, что надо сочетать символьную логику и нейросети?
Ну, мы можем использовать символьные подпрограммы для feature engeneering, а дальше обучать нейросеть обратным распространением ошибки. То есть так: «символьная хренотень, обучаемая чем-то типа эволюции» -> «нейросеть, обучаемая чем-то типа градиентного спуска». А если мы сделаем иную архитектуру, то непонятно, как обучать нейронку. Если нейронка — это не «последний слой», то мы не можем решать для нейронки задачу обучения с учителем в её обычной постановке, потому что у нас нет таргета. Мы всё ещё можем искать градиенты численными методами, но это вычислительно сложнее. Если у нейросети 10к весов, то это будет 10к прогонов всей ML-модели для того, чтобы посчитать градиент для одной точки данных.
В общем, у нейросети есть особые алгоритмы обучения, которые опираются на то, что известны и X, и Y, и от самой сети легко взять производную. Если мы добавим в сеть что-то недифференцируемое, то весь этот быстрый и эффективный матан перестаёт работать, и нам надо использовать какие-то иные методы оптимизации, типа эволюции или численного рассчёта градиента.
Only those users with full accounts are able to leave comments. Log in, please.