Ответы пользователя по тегу Искусственный интеллект
  • Существует ли какая- та тула, плагин или просто сервис который бы помогал улучшить код.?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Я полностью поддерживаю использование УЛУЧШАТОРОВ типа SonarQube, PMD и прочие которые просто позволяют указать мне на явные ошибки типа potenrial null pointer de-referencing.

    Но вот в части - написать по другому - я-бы сказал что это открытый вопрос. Ставить ТЗ нельзя так чтобы "сделать на выходе хоть что-нибудь". При таких критериях мы получим просто рандомный шум который тем не менее компилируется. Типа "бей посуду - я плачу". Но автору такое не надо.

    Тогда давайте зададим вопрос. А что собсно надо автору? Приведу пример который я часто использую. Решения задач на codewars. Они разные. Но обычно в топе висят 2-3 штуки которые поражают своей краткостью и различностью парадигм. Например в топе висит одно решение с хвостовой рекурсией а другое с циклом. И я не могу решить которое мне больше нравится. Нравятся оба. Но скорее всего при разработке code beautifier я-бы не стал вообще копать 2 направления. Достаточно было-бы просто поставить задачу сделать код меньше. Я думаю что все согласятся что меньше строк - меньше надо будет скроллить вниз. Особенно эти дело любят Джависты. Как накидают своих бинов с геттерами-сеттерами ойойой. 80% кода - нечитаемый шлак. Ну да ладно. А насколько меньше? Есть обфускация. Это сознательне выпиливание смыслов из всех идентификаторов. Вобщем переменные можно называть $1,$2 e.t.c. и это тоже работает. Но ... согласитесь это путь в никуда.

    Поэтому. Чтобы улучшать мы должны САМИ задать вектор улучшения. Парадигмы например. Мы хотим код тяготеющий к функциям или к объектам с методами? Мы хотим код с детальным дебагом (каждый оператор в своей строчке) или нам пойдет исходник как у Джона Кармака. Весь С++ исходник в 1 длинную строку. Мы хотим код на конечных автоматах? Или на комбинаторах? Мы хотим больше перформанс но хуже читаемость (вспоминаем знаменитую Кривую Шипилёва) или наоборот?

    Вобщем думайте над вектором улучшения.
    Ответ написан
    Комментировать
  • Как до обучить Pytesseract под свой шрифт?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Системы, распознающие текст содержат обычно несколько уровней распознавания. Один - это собственно нейросеть которая видит с разной вероятностью символы-кандидаты. Второй уровень - это семантика слов и предложений. Тоесть когда ты распознаешь осмысленный текст - то ты обладаешь бОльшей информацией о том как достроить неверно распознанные символы.

    В случае с билибердой написанной как

    fffjjj ....

    второй уровень даёт сбой. Он не видит знакомых слов.

    На самом деле я не знаю как работает тессеракт. Надо читать его настройки. Но если-бы я распознавал билиберду из символов - то я-бы искал именно эти языковые семантические настройки.
    Ответ написан
    Комментировать
  • Как войти в "ИИ"?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У меня - очень угнетающее впечатление от практики применений библиотек. Ребята пытаются обучать нейросети даже не зная основ мат-статистики. У них сеть расходится. Переобучается. Выдает лажу на выходе которую они берут за чистую монету. Потом приходят в этот же форум и спрашивают почему opencv или tensor flow "глючит". Они даже вопрос не могут задать потому что не владеют терминологией.

    При этом я говорю без ревности там или обиды от конкуренции. Нету у нас конкуренции. У меня задачи другие. Мне за науку обидно. Будто в физ-лабораторию где коллайдеры и квантовые вычислители забежали мартышки и начали нажимать вообще на все-все кнопки на которые только можно. Спасибо языку Python и фреймворкам! Боже мой какое счастье!!

    Это я не в упрёк автору. Просто зачем пополнять зоопарк? Берите консервативную отрасль. Не из buzzwords а из современного и актуального завтра. Биохимия например. Нужная наука. И it там будет очень нужно.
    Ответ написан
    Комментировать
  • Какие есть пути объединения Blockchain и AI?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В настоящее время таких путей нет. Так как нет мотивации майнеров к тому чтобы они тратили свои мегафлопы на задачи ИИ. Но если создать свою криптовалюту на основе POW и вместо перебора разрядной сетки SHA256 просто задавать мелкие задачки из области ИИ тогда мы получим полезный эффект.

    В чем здесь сложности я вижу. Сложно придумать алгоритм генерирующий такие задачки на ходу и подходящий под контракт функции POW. Ну... моей фантазии уже на это не хватает. Слишком много ограничений тут.
    Ответ написан
    Комментировать
  • Насколько C# подходит для создания ИИ и робототехники?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Только начинающие разработчики считают что 1 язык - на всю жизнь. В реальности сложные проекты - это всегда слоистый торт из разных языков и технологий. Например если вы решили работать в DataScience - то вам нужен язык Python который под капотом вызывает C++ который в свою очередь может вызывать OpenMP на сях для высокрой производительности. И при этом само приложение Python запускается из конвейера например написанного на Groovy и т.д. Стек - длинный. Каждое звено стека обосновано. Стоит на своём месте. Так какой смысл говорить об конкретном языке?

    Лучше говорить о самой проблеме. Какая проблема создания ИИ? Вот этот вопрос реально интересен.
    Ответ написан
  • ИИ который может описать то, что изображено на картинке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Непонятно какого рода acceptance criteria здесь можно применить. Если ИИ нашел что картинка состоит из синего фона то является ли это решением? Хотя по факту вы фоткали морской горизонт. И если в море был виден парусник - то как ИИ должен был его описать?

    ИИ с синим фоном и я могу сделать. Нехитрое дело... Усредненный цвет.
    Ответ написан
  • Как улучшить мою сверточную нейронную сеть?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Возможно топик уже неактуален. Но я спрошу.

    В наше время все хотят затащить в проект НС потому что это стильно и модно и кроме того наличие тега НС очень сильно может впечатлить заказчика. Но может быть настало время переосмысления НС и рассмотрения старых добрых проверенных методов?

    Почему-бы не попробовать авто-корреляционную функцию. И если она будет лучше и проще - разве это не будет решением задачи?
    Ответ написан
    Комментировать
  • Как заставить ботов убегать от преследователей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Проблема кроется в самой постановке. Боту недостаточно убегать от красных. Ему надо заранее прокладывать траекторию так чтобы при равных скоростях они оба бегали бесконечно. Я так понимаю что это будет успех.

    Все прочие алгоритмы при равных скоростях тяготеют к тому что зеленый будет становится все ближе и ближе. Ему ведь надо тыкаться в углы. А все известные машинные алгоритмы ближнего действия требуют ощупывания или осязания тупиков и углов. При таком раскладе зеленый будет пойман. Или надо давать ему фору в скорости.
    Ответ написан
  • Чем разложить фотки по папкам в зависимости от содержимого?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По усредненному цвету
    Ответ написан
    Комментировать
  • Как создать алгоритм, который определяет на видео в реальном времени цифры ( от 0 до 9) и цвет?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут наверное OpenCV не надо. Просто замерять цвета нескольких точек в течение 3-5 секунд (как фотик наводит резкость) и брать их среднее значение.

    Этот алгоритм прост - как автомат Калашникова. А все что простое - работает быстро. Как будет работать OpenCV на Raspberri мне даже страшно представить. Скорее всего плохо т.к. OpenCV проектировалась сразу для сильного железа а Распберри это больше игрушка для энтузиастов чем платформа для видое-обработки.
    Ответ написан
    2 комментария
  • Бот, понимающий смысл?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно начать с построения семантической сети по тексту.
    После того как сеть будет построена. Задача бота сводится по поиску вершин и рёбер в этой сети.
    Вершины и ребра будут по сути ответом на поставленный вопрос.

    С ботами я никогда не имел дела. Но разбирался как работает RDF/Semantic web/GraphQl.

    Но это всё из области четкой логики. Из того что умерло в 80х вместе с языком Пролог и Лисп.

    Возможно современные боты строятся как-то по другому. На базе нечетких (аналоговых или вещественных
    понятий). Например если Саша любит Машу - то с точки зрения нечеткой логики это не факт
    а просто величина чуть меньше единицы. Предположение. И если по тексту будет много фактов
    проявления любовей от Саши то в этом случае эта нечеткая связь будет расти и крепнуть
    по некой функции с насыщением но никогда не достигнет единички а просто так и останется
    предположением. Сюда-же до кучи механику нейроных сетей.

    Хотя КМК НС плохо подходят для текстовых задач. У них есть большой лимит по памяти. Сеть хорошо
    обобщает факты. Но плохо помнит частные случаи.
    Ответ написан
    53 комментария
  • IDE с Искусственным интеллектом улучшающим код программы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Такой IDE не существует. И не будет существовать. Объясню почему. В инфо-технологиях существует класс задач которые нельзя решить "просматривая глазами код". Например нельзя доказать что код обладает каким-то свойством. Например свойством что он остановится с гарантией после 100000 итераций. Чтобы такое доказать надо этот код скомпилировать и запустить. Грубо говоря рантайм или собственно работа кода является доказательством его правоты. И никакие статические анализаторы не способны глянуть глубже чем рантайм.

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

    Еще альтернативный вариант - просмотр кода человеком. Это работает. Иногда.

    Статические анализаторы могут просто подсказать какую-то простую ошибку типа потенциальный NPE или выход за границы массива. Но только в очень простых кейсах.
    Ответ написан
    1 комментарий
  • Каким образом подавать входные данные в нейросеть?

    mayton2019
    @mayton2019
    Bigdata Engineer
    16 битный звуковой сигнал не годится для подачи на вход НС. Его необходимо перевести в АЧХ и еще побить на некоторые атомарные отсчеты наподобие звуков или букв или музыкальных нот. Как побить - это тема отдельного топика и ее надо изучать отдельно. В вашем случае - нельзя рассматривать нейро-сеть как мясорубку куда кидают что ни попадя. Информация должна быть дискретной и осмысленной. Тоесть если вы обучаете НС с учителем то вы должны предъявить сети на вход частотную характеристику ноты ДО первой октавы например и в качестве обучающего сигнала и дать подсказку что это есть нота ДО. Если будете подавать на вход белый шум - то сеть ничему не научится.
    Ответ написан
  • Можно ли запатентовать внутреннее устройство искусственного интеллекта?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На вопрос ответить невозможно. Потому как на сегодняшний день не существует даже определения искусственного интеллекта. Разумеется мы можем впасть в примитивизм и сказать что дескыть это имеется в виду копия мозга человека или что-то в этом роде. Только писатели фантасты имеют уверенность в этом вопросе. Современная наука еще не знает как устроен мозк. Душа или дух. И прочее. Поэтому о патентовании говорить еще рано. Или можно патентовать миллион разных технических фейковых устройств которые симулируют мозк а компетенции чтобы проверить нет ни у кого.
    Ответ написан
    Комментировать