Ответы пользователя по тегу Нейронные сети
  • Можно ли писать нейронные сети для микроконтроллеров или лучше использовать ПЛИС?

    Вопрос ещё и в том, надо ли писать такое под микроконтроллеры (изобретая по пути велосипеды) - или проще под подобную функциональность поставить на борт, например, какой-либо arm с линухом и tensorflow (например) на борту. А микроконтроллерам оставить всякий реалтайм, например.

    "самообучающийся робот"
    One-shot reinforcement learning, или у нас безлимитные боты? :-)
    Ответ написан
    3 комментария
  • Как подготовить текстовые данные в Keras для обучения Encoder-Decoder LSTM сети (sequence-to-sequence)?

    1. токенизировать - возможно, nltk.tokenize ?
    2. далее, вероятно, стоит удалить стоп-слова. Например, полученные от nltk.stopwords
    3. (вероятно, будет толк от стемминга - например, nltk.stem)
    4. далее - например, заменить слова/корни (после стеминга) каким-либо embedding-м (который поставит в соответствие каждому слову вектор) - например, word2vec. Ну или использовать собственный embedding. Например (но это явно затратный в плане памяти путь):
    4.1. создать словарь, содержащий все слова обучающей выборки
    4.2. поставить в соответствие каждому слову его номер. Тогда текст будет представлен одномерным массивом чисел
    4.3. подменить каждое число вектором, где N-й элемент равен 1, остальные - 0. А N - собственно, наше число
    4.4. добавить на вход сети embedding слой и обратный на выход
    Ответ написан
    Комментировать
  • Что использовать для распознавания смысла вопроса?

    Если задача решается классификацией (в нашем случае - определить, к какому из конечного набора intent-ов отнести вопрос) и извлечением сущностей (например - извлечь упомянутый город или что-то в таком роде) - возможно, вам подойдёт api.ai?
    Ответ написан
    Комментировать
  • TensorFlow Как предсказывать соответствующие числа?

    Ну очевидно - как-то так:
    - собрать обучающую выборку которая, на ваш взгляд - хорошо опишет функцию, которую нужно предсказать. И при этом - достаточно большую (ну, например раз в 10 побольше, чем планируется иметь весов у обучаемой сети).
    - разделить выборку на тренировочную и тестовую часть (случайным образом). Например в соотношении 0.7-0.3 (70% в тренировочную часть, 30% в тестовую)
    - выбрать функцию ошибки, подходящую для вашего случая. MSE, например (mean squared error).
    - повторять до достижения приемлемого уровня ошибки на тестовой выборке:
    -- выбрать конфигурацию ИНС (число/типы слоёв, их функции активации)
    -- в течение заранее выбранного числа эпох - обучать ИНС на тренировочной выборке (читай - минимизировать значение функции ошибки. Ещё кстати, вопрос- какой выбрать оптимизатор).
    -- оценить ошибку на тестовой выборке.

    А вот код - с этим уже на fl/upwork/etc :-)

    з.ы. не возился конкретно с tensorflow, но кажется - не должно стать проблемой разобраться в любом вышеуказанном шаге, имея алгоритм, не :-) ?
    Ответ написан
    Комментировать
  • Как обозначить место на изображении, выбранного нейронной сеть?

    "Но это не главный вопрос, подскажите пожалуйста, как на выбранном нейросетью изображении выделить нужный участок, например лицо или проколотые колеса машины. Спасибо!"
    Гугли по "image object detection neural network" или подобному.
    Например - SSD (та, что "single shot multibox detector"). Вообще - наверняка есть что-то лучше, это просто первое что пришло в голову. Вот пример реализации - https://github.com/rykov8/ssd_keras .
    Ещё, ЕМНИП - RCNN. Но искать сравнения я, конечно, не стану :-)

    "FANN"
    Так это не архитектура сети, а библиотека для их реализации, не?
    Ответ написан
  • Какой алгоритм применить, что бы передавать что одно лучше другого и в итоге получить таблицу?

    "Нужно передавать в алгоритм, что одно лучше другого."
    А не передавать ли какой-то чёткий параметр? Или такого нет (ну или задача как раз -выделить его)?

    "Вся загвоздка в том, что один может передать, что А лучше Б, а другой наоборот"
    Разделить оценки по категориям (читай "лучше в связи с тем-то") или же (если есть явный перевес) - отбросить одну из сторон, нет?

    з.ы. кстати, если явно перевеса нет - возможно, удастся разбить юзеров на N кластеров по их голосованиям, обучить N оценивающих сеток и после - классифицировать юзера и давать ему вывод соответсвующей сети. Но тут я уже не подскажу какой-либо конкретики.
    Ответ написан
  • На чем основан принцип обучаемости нейронных сетей?

    У нас есть функция ошибки f(x1,...,x_n) (где x1-xn - параметры сети (её устройство, веса связей. Ну, устройство, положим, меняется - но можно же (упрощенно) считать отсутствие связи за связь с нулевым весом)).

    Соответственно, стоит задача её минимизации.

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

    Кстати, если таки планируется много нейронов - не лучше ли будет обойтись каким-нибудь stm32-м (на всю сетку) и "мультиплексировать" вход АЦП? (грубо говоря - добавить к нему ключей, открываемых по 1/0 на пине какого-либо "цифрового" порта).

    Или таки ТТХ/наглядность не позволяют?
    Ответ написан