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

    @dmshar
    Не могу понять от куда берутся веса? И как они распределяются по сети,
    Вообще-то , это основа того, что называется "нейронная сеть". Поиск весов и их "распределение по сети" - по сути, это задача оптимизации, решаемая одним из численных методов, как правило - градиентной оптимизацией.
    Если вы задаете такой вопрос - это значит, что вы еще совсем "не в теме". Начините с азбуки, потом - когда поймете как оно все работает - можно будет думать и о том, как оно применяется при "распознавании рукописных цифр", а уж потом - как его реализовать на С++. Хотя зачем? Именно на плюсах уже реализованы те-же Tensorflow и PyTorch. Хотите им составить конкуренцию?
    Ответ написан
    Комментировать
  • Какой вид нейросети брать для прогнозирования выхода из строя элементов?

    @dmshar
    Как уже было сказано - нейронные сети тут ни при чем. Наука, которая уже лет 50 занимается такими вопросами - названа выше.
    Если уж очень хочется познакомиться с методами машинного обучения на примере данной задачи - то даю наводку, соответствующий раздел называется "Построение регрессионных моделей". В качестве дополнительного чтения - "Анализ времени дожития" (да,вот такое "оптимистичненькое" название). И никаких нейросетей!
    Но не поняв, что, зачем, куда и почему (в частности, почему нейросеть тут ни коми боком), человек обречен "забивать формулы в эксель". Так что советую начать с основ.
    Ответ написан
    3 комментария
  • Какие технологии выбрать для веб приложения с использованием нейронных сетей?

    @dmshar
    Стандартный стек библиотек для реализации алгоритмов ML "с нуля на Python":
    - Scipy,
    - NumPy,
    - Pandas,
    - Scikit-learn.
    Для визуализации - связка с D3.js.
    Для курсового проекта - хватит более чем.
    Ответ написан
    Комментировать
  • Как спроектировать нейронную сеть?

    @dmshar
    У вас смешаны несколько задач.
    Первая - определить "линию на картинке". Не знаю, что у вас за картинка, не знаю, что вы понимаете под "линией". но если это, например, фото, а линия - это элемент некоторой конструкции, то решение задачи лежит в распознавании объектов на картинке. Сегодня нейросети решают такие задачи достаточно эффективно.

    А если ваша задача "определять угол, на какой машине нужно повернуть", то вообще-то говоря нейросеть тут ни при чем. Есть направление движение, есть новое направление. "Определение" угла - это определение разности между этими двумя направлениями. Что еще там надо определять, особенно с помощь нейросети???

    Ну а предложение "масштабировать (???) 180 градусов условно(???) на [-1:1] промежуток (???) в качестве выхода (???)" - это вообще набор каких-то слабо связанных между собой слов. Если имелось ввиду "отобразить 180 градусов в интервал [-1:1]" - то да это сделать элементарно. Вот только зачем, и какое это имеет отношение к предыдущим двум вопросам?
    Ответ написан
  • Что такое вектор слова (как его вычислить), word embedding и как работает word2vec?

    @dmshar
    Вообще-то это целая технология. Ожидать объяснения в "относительно простых словах" как то даже не серьезно. Информации по теме масса - сиди, читай, разбирайся, применяй.
    Вот неплохое - одно из многих - введение в тему:
    https://skymind.ai/wiki/word2vec
    с примерами и объяснениями "что такое" и "как работает". Если что-то конкретное станет непонятным - спрашивайте.
    Ответ написан
    1 комментарий
  • Что стоит почитать для создания такой задачи?

    @dmshar
    "пользователи смотрели бы на эту игру." - и в чем прикол? Может, лучше посмотреть футбол?
    Что посоветуете? - "пилите Шура, пилите" (С)
    Ответ написан
    Комментировать
  • Как подготовить базу для нейронный сети?

    @dmshar
    А вы прочитали хоть одну книгу, статью, да просто страничку в интернет про нейронные сети, как они устроены, как работают? Или вы решили "переизобрести велосипед" ?
    Судя по вопросам - не читали. Вот с этого и рекомендую начать.
    Про базу данных - ответ примерно тот-же. Попробуйте начать с того, что-бы разобраться, а как вообще можно хранить информацию в компьютере. Это написано на первых страницах любой книжки по программированию.
    Про "ngram" - это вообще какая-то загадочная фраза. Хоть знаки препинания расставьте, что-ли.
    Ответ написан
    2 комментария
  • С чего начать изучать нейронные сети?

    @dmshar
    С того, что открыть Google и ввести "нейронные сети".
    На первой же странице находим
    - ссылки на несколько сайтов именно для того чтобы "с чего начать", в большинстве из них есть ссылки на расширенные материалы.
    - ссылку на обучающий портал - по сути, учебник - от statsoft.
    - ссылки на видеокурсы- как минимум, четыре штуки
    - ссылки на насколько научно-популярных порталов, посвященных ИНС и ИИ
    - ссылку на tproger.ru/tag/neural-network/, откуда в свою очередь - куча ссылок на сайты, книги, курсы и пр. по теме.
    И - естественно - ссылка на статью в Википедии, в которой есть чудесный "вводный курс" по теме и десятки - если не сотни- ссылок для углубления понимания.
    На второй странице выдачи Google - еще с десяток полезных ссылок того-же типа.
    Если вы не умеете пользоваться даже Google, то может стоит начать с обучению этому "высокому искусству", а уж к нейронным сетям перейти потом?
    Ответ написан
  • Верна ли предлагаемая структура нейронной сети?

    @dmshar
    Задам вопрос - а зачем вам нейронная сеть? Дело в том, что ваша задача КЛАССИЧЕСКАЯ задача классификации, к которой сводятся практически все задачи медицинской диагностики до знаменитого IBM Watson включительно.
    Нейронная сеть в реалии нужна тогда, когда классические методы не работают, ну например, при очень сложных и запутанных связях между входными параметрами (как в распознавании визуальных образов или в распознавании смысла текста), причем еще одно важнейшее условие - наличие реально очень-очень-очень-очень большого количества входных данных (от десятков тысяч до миллионов). И только при этих условиях НС способны дать хоть какой-то выигрыш по точности, по сравнении с классикой. Первого в вашем случае точно нет, а второе - очень вероятно, что нет.
    Кроме того, напомню, что в медицине никто и никогда не примет результат вашего исследования, если вы не будете способны его интерпретировать (термин "доказательная медицина" надеюсь, вам знаком, как и ее основные требования). НС этим свойством не обладают, классические алгоритмы - обладают.
    Так приведите хоть один аргумент - кроме моды - в пользу НС.
    Если же все таки примете решение применять традиционные алгоритмы машинного обучения - можно будет думать и обсуждать, какого класса алгоритмы лучше применить и как его реализовать.
    Удачи.
    Ответ написан
    3 комментария
  • Как можно сгенерировать текст, который будет написан "человеком"?

    @dmshar
    Не очень понятен ваш вопрос, но если на входе "текст (символы)" а на выходе - картинка, то это ничем не отличается от того, что сегодня делает любой драйвер монитора - на вход принимает код символа, на выходе генерирует картинку в виде набора пикселей определенного цвета. И никакой магии. Если хотите, что-бы "не может одинаково написать одну и ту же букву", то достаточно добавить перед генерацией стандартных символов некоторые искажения и шум.
    Или вы что-то другое имели ввиду?
    Ответ написан
  • Как запустить Нейросеть с большими объемами инф?

    @dmshar
    1. Различие в объеме между 2 ГБ и "несколькими терабайтами" - очень немаленькая. Вы уверены, что терабайтные объемы будут вами достигнуты в обозримом будущем?
    2. В фаловой системе NTFS теоретический размер файла может быть до 32 эксабайт. Практически - немного меньше, но думаю, вам должно хватить.
    3. Глупо или не глупо держать в файле зависит не от объема информации, а от того, что вы хотите с ней делать. Если просто хранить в нужном формате а потом скармливать своей нейронке, то переход к любой БД вам ничего не даст, кроме замедления работы и УВЕЛИЧЕНИЯ расхода ресурсов.
    4. Если вы перейдете к БД, то у вас два пути. Либо перед загрузкой в нейронку переформатировать ваши данные - возможно не все сразу, а по частям - в формат, воспринимаемый нейронкой. Либо писать свой код работы с БД, и имплементировать его в используемую библиотеку (благо много нейронок имеют его в виде Open Source). Варианты не сильно отличаются друг от друга по сложности.
    5. "Не хватит оперативки" - это если вы используете алгоритм класса "in memory". Надо искать (или писать нейронку), которая лишена этого недостатка. Такие вопросы можно гууглить по ключевому слову "Streaming algorithm".
    5. Если действительно вдруг вы выскочите в область Big Data c необходимостью работы в потоковом режиме(пока вы явно не там) - то придется посмотреть в область Hadoop и Spark. Но это - совсем другая история.
    Ответ написан
    Комментировать
  • Нейронная сеть. Как предсказать победу одной из трех команд?

    @dmshar
    Задача предсказания победителя в матче ничем не отличается от задачи классификации животного. Только в спортивной задаче объектом классификации выступает "матч" который включает описание команд, в нем принявших участие. Результат классификации - соответственно не "кошки"/"собачки", а "победа команды 1"/ "победа команды 2".
    Соответствующие "готовые реализации" есть и в Python, и в R, да и в практической любой библиотеке по Machine Learning.
    Ответ написан
  • Существуют ли актуальные ресурсы, которые сравнивают различные нейросети в плане "качества"?

    @dmshar
    Сравнивать можно не на "задачах одного типа", а на решение определенной задачи на конкретном наборе данных. Чем, собственно, kaggle и занимается. А универсального ответа на поставленный вопрос не существует.
    А вообще-то машинное обучение многие воспринимают как "взять готовое решение -> применить _> получить суперрезультат". На самом деле это всегда глубокое исследование и профессиональный анализ.
    Как пример, могу привести анализ применимости и эффективности различных методов предсказания во временных рядах (одна из самых известных и актуальных задач) . Вроде - все ясно. Однако попытайтесь разобраться в результатах без серьезного предварительного изучения теории :-)
    https://journals.plos.org/plosone/article/file?id=...
    Ответ написан
    5 комментариев
  • Как выбрать ML фреймворк для прода?

    @dmshar
    Ух какой общеабстрактный вопрос. И странно, что после "достаточно долгого углубления" так и не решить, на чем лучше обучать сеть на 20 нейронов.
    Сравнение различных фреймворков (языков программирования, операционных систем, систем управления базами данных и пр....) - сродни религиозным войнам: есть адепты каждой из религий, которые по-сути только ее и знают. Есть те кто свято верит в то, что написано во всяких катехизисах, обзорах, сравнениях. Есть свои последователи, проповедники, энтузиасты, отступники. Есть тихие верующие и разработчики, спокойно пишущие на том, что им велели свыше. Только вот правых и неправых в таких войнах нет. Ибо нет "лучшего фреймоврка" и поиск его - бессмысленен. А опыт одних в условиях работы других может оказаться мягко говоря - неприменим.
    Ну, если очень надо - можно легко найти сравнения разных инструментов, например
    https://www.netguru.co/blog/deep-learning-framewor...
    https://medium.com/the-mission/8-best-deep-learnin...
    https://www.datanyze.com/market-share/machine-lear...
    Только вот слава Богу инженерия - не религия. Тут за то, что ты меняешь один инструмент на другой - на костре не жгут. Можно потратить уйму энергии, выбирая "лучший фреймоворк" и все равно где-то не угадать. А можно начать делать свой проект на том, что знаешь, понимаешь, владеешь. Гордится тем, что ты научился молотком гвозди забивать и не отбивать себе при этом пальцы, а не тем, что держишь в руке что молоток фирмы Steanly, а не молоток фирмы Тоptul. А потом уже конкретно выяснять, в чем-же твой инструмент оказался слаб именно для твоей задачи, и уже целенаправленно, а не абстрактно искать лучший по конкретному показателю.
    Ответ написан
    Комментировать
  • Анализ крови с использованием нейронных сетей?

    @dmshar
    Для того, что-бы распознать лишь "норма, средний воспалительный процесс, высокий воспалительный процесс" - как вам уже тут верно заметили- не то что нейронные сети - вообще никакого ML не надо, достаточно трех-четырех правил, который любой студент-медик должен знать наизусть примерно на втором курсе.
    В реальной жизни задачи медицинской диагностики методами машинного обучения возникают тогда, когда традиционными, медицинскими методами задача решается крайне сложно и/или неточно. Ну например - по результатам лабораторных анализов выявляют те или иные виды онкозаболеваний, по результатам мониторинга - предсказывают риск возникновения инфарктов/инсультов в ближайшем будущем. По результатам анализа генетического материала - предрасположенность (риск) заболеваемости определенными видами болезней или реакции не определенные медикаменты, по информации о состоянии организма и региона проживания - вероятность подхватить определенные инфекции и соответственно - необходимость профилактического лечения и т.д. Про диагностирование по анализу рентгеновский снимков, УЗИ и пр - я тут не говорю, хотя вот там действительно огромный простор для применения нейросетей.
    И по анализу крови - задачи, которые реально решаются - посложнее, чем "есть-нет воспаление". Ну, например - определение возраста человека:
    https://habr.com/company/spbifmo/blog/350624/
    или распознавание диабета и его разновидностей:
    https://datascienceplus.com/machine-learning-for-d...
    Только вот надеяться, что даже простейшую задачу такого класса можно решить не имея в команде специалистов с медицинским образованием - крайне самонадеяно.
    Ответ написан
    Комментировать
  • Как прогнозировать многомерные временные ряды в Keras?

    @dmshar
    Ну, не совсем "везде".
    Вот например - https://www.analyticsvidhya.com/blog/2018/09/multi...
    А вот - с помощью Keras
    https://machinelearningmastery.com/multivariate-ti...
    Ответ написан
    Комментировать
  • Как правильно спроектировать нейронную сеть?

    @dmshar
    Я так и не понял, в чем-же вопрос.
    Если "как это сделать" - при том, что "это" - практически весь курс по ML и
    DL - то искать ответ на форуме при наличии просто океана ресурсов в сети - как то странновато.
    Если как это сделать на С++" - то тоже вроде недостатка информации нет.
    Книги, туторы, статьи, видео, всё что может быть полезно готов изучить вдоль и поперёк, только скажите где(много информации уже перерыл)

    Что, действительно? Как это вам удалось - ничего не найти.
    Ну так, для затравки, может поможет:

    https://www.amazon.com/C-Machine-Learning/dp/1786468409
    https://www.oreilly.com/library/view/machine-learn..."
    "https://www.amazon.com/Deep-Belief-Nets-CUDA-Feedf..."
    https://www.amazon.com/Data-Mining-Algorithms-Patt..."
    https://habr.com/post/335838/
    www.mlpack.org
    Ответ написан
    Комментировать
  • Как запустить pretrained model?

    @dmshar
    Попробуйте просто убрать этот оператор.
    Ответ написан