Pull to refresh

Comments 7

Эта серия публикаций оставляет ощущение, что смотрю репортаж из сновидения.
Погрузился, поток сознания, проснулся.

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

Вот, к примеру
попробуем реализовать полноценное исполнение любых программ на нейросети
Чем классическая MT не угодила, или Лисп-интерпретатор?
>Чем классическая MT не угодила, или Лисп-интерпретатор?

1) Для ИНС было наработано много алгоритмов, которые «не влазят» в лисп. Ну или влазят, ведь нейросеть можно сделать на лиспе, но ИНС дает другой уровень абстракции — можно сказать, «новая библиотека для лиспа». Взять хотя бы то, что у лиспа car/cdr содержат по одному указателю, а для данных реального мира чаще нужно сразу много информационных признаков на один момент времени.
2) Такие попытки улучшили понимание нейросетей — и ИНС, и ЕНС

>ощущение, что смотрю репортаж из сновидения.

Я вас не виню, так как этому есть причины. Когда-то давно я выкладывал в уже закрытый блог несколько десятков статей по нейросетям, которые сейчас вместились в пару. Просто сейчас свободного времени еще меньше (это же хобби, а не основная работа), желания пересказывать то, что уже давно писал, тоже поубавилось, да и многие решения уже неактуальны. В результате надергал самых интересных результатов за все время. А детально объяснять — так будут те десятки статей + новые.
Но несмотря на все это, некоторым людям эти статьи могут быть полезными. Наиболее вероятно — тем, кто уже сильно погружен в эти области и ловит концепции на лету.

>понять, какую задачу решаем, подготовить тестовые данные

Тестовые данные были разные, тестовые задания тоже разные. Я даю выжимку из подходов, которые оказались удобны и полезны для разных данных и целей. Поэтому они так переплетены. «Сон чудовищ рождает разум»
Для ИНС было наработано много алгоритмов, которые «не влазят» в лисп

О чём я и говорю! Если брать задачу распознавания заранее (до обучения) неизвестных буковок, ИНС несомненно крута, потому что алгоритмами непонятно как делать.

Но если проверять возможность выполнения алгоритмов нейросетью, возникает вопрос «зачем». Алгоритм-то всё равно задаётся извне. Это всё равно, что крестики-нолики писать на брейнфаке. Да, прикольно. Но быстрее написать на питоне.

Другое дело, если нейросеть не только выполняет, но и формирует алгоритмы. И тут уже интересно посмотреть на тестовые входные данные, и как ИНС справляется с ними.
Цель естественно была — создание универсального ИИ. Делать его из каши на разных языках и разных структур данных — провальная идея, хотя бы потому, что на смену интерфейсов/протоколов/форматов будут уходить ресурсы и компьютера, и разработчиков, рефлексия ИИ будет затруднена их такой каши и т. д.
Теперь понятно. Тогда да, тут никакой нормальной разработки быть не может, чтобы поставил задачу, придумал тестовые данные, выбрал алгоритмы, накодил, протестировал.

Так, блуждание вслепую, и может что нащупается.
Не подскажете, скриншоты какой программы приведены в статье?
Собственной разработки. Первые 2 версии были на C++/MFC, третья и четвертая — на C++/Qt. Вдохновением служила в том числе OllyDbg, Выкладывать такое в открытый доступ сейчас смысла мало: большая часть нейросетей решали не практические задачи, а служили для отработки отдельных аспектов алгоритмов. Причем, так как раньше я использовал не git + тестовые данные были в бинарном формате, то не догадался складывать их в систему контроля версий, и для старых ИНС даже тестовые примеры надо будет создавать заново. Лишь недавно догадался перевести на json + git, и хранить их вместе с исходниками.
Sign up to leave a comment.

Articles