Ответы пользователя по тегу Нейронные сети
  • Что такое вектор слова (как его вычислить), word embedding и как работает word2vec?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    вектор - это отрезок в пространстве (определенная величина которой мы что-то измеряем в пространстве).
    Если это 3х мерное пространство то это соответственно набор параметров длина, ширина, высота объекта которого мы измеряем.
    Многообразие слов может быть представлено очень большим "пространством" (условно можно назвать "смысл"), и вордТуВек - работает измеряя параметры определенного слова в этом пространстве.
    Для примера можно рассмотреть например - если мы ограничим пространство всех слов (смыслов), только словами с цветом - тогда у каждого нашего слова зеленый, красный, черный, синий и тд, будет размер в пространстве который бы соответствовал цветовой характеристике (например RGB, типа там [0, 0, 0] - для черного), однако пространство у нас куда более большое, чем только характеристики цвета, такое пространство может иметь тысячимерную размерность "смыслов".
    самое главное что мы в итоге переводя слова в такие вектора, можем их сравнивать. находить близкие по смыслу слова и сравнивать составленные из этих слов "фигуры" в пространстве
    Ответ написан
    6 комментариев
  • Верна ли предлагаемая структура нейронной сети?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    >только тех, что относятся к Мужскому полу, соответственно на нижний - для женского.
    вся суть машинного обучения, в том чтоб машина САМА искала какие признаки к чему и как относятся.
    то что вы уже за нее решаете, как у вас будут признаки работать, это уже не машинное обучение - это эвристическое программирование.
    Хотите машинное обучение - соединяйте полностью слои друг с другом
    Ответ написан
  • Является ли читерством использование ботов с компьютерным зрением?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    лично я подразумеваю под читерством - использование "недокументированных" и не доступных для других возможностей игры, например бесконечные деньги, смотреть сквозь стены, знать скрытые параметры соперников и тд.
    Если бот поставлен в такиеже условия что и все игроки, то никакого читерства.
    хотя я не слышал какой-то утвержденной классификации что есть читерство.
    Ответ написан
  • Какой тип нейронных сетей использовать для предсказания цен на авто?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    ну во первых от смены разделяющей (решающей) функции, результат особо не поменяется.
    предсказывать цены, не лучшая задача для нейронных сетей - тут обычно регрессионные модели работают, в которой можно выразить цены в прямой зависимости от набора параметров умноженные на подбираемые коэффициэнты.
    нейросети обычно лучше себя показывают в задачах классификации сигналов.
    количество слоев обычно опытным путем подбирают
    Ответ написан
    Комментировать
  • Как можно реализовать определение болезни по симптомам?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    болезни определяют не по симптомам, а по специфическим анализам, да и лишь для небольшого обьема хорошо изученных болезней.
    опять же если есть желание именно по симптомам что-то определять, то нейросеть там не к чему.
    Можно сделать простейшее дерево решений, на основе медицинской энциклопедии в которой перечисленны симптомы у болезней.
    Само собой нужно понимать что если человек говорит, что у него болит голова, и температура, то количество возможных болезней может превышать тысячи вариантов.
    Ответ написан
    6 комментариев
  • Нужна ли для обучения нейронных сетей профессиональная видеокарта с ECC?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    сбои да случаются, при длительном обучении (неделю и более) особенно в связках с несколькими картами - это вполне себе влияет. На сколько критично? зависит от софта, если вы там каждую эпоху логируете, то можно попробовать выкрутиться, и отлавливать моменты сбоя, перезапуская процесс обучения с точки сбоя.
    Ответ написан
    5 комментариев
  • Как быстро получить обзор методов машинного обучения?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    в вики достаточно кратко и понятно
    https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D...
    -----
    но не берите грех на душу, если нет опыта, отдайте задачу тем кто уже занимался этими вещами. Иначе за такие решения, сами разработчики могут затоить на вас лютую злобу)
    Ответ написан
    3 комментария
  • Нейронная сеть, какой должен быть диапазон весов?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    возможно открою для вас Америку, но ни размеры весов, ни диапазон, ни нормализация этих весов не имеют абсолютно никакого значения.
    Имеет значение только решающая функция, которая подгоняет ЛЮБЫЕ значения весов на основе обратного распространения ошибки к таким значениям на которых решающая функция реагирует с наименьшим количеством ошибок. А какие именно значения весов - абсолютно без разницы, хоть от 0.01 до 0.02 (с шагом в 0.0000001), или например от -1000000000 до +10000000000, результат будет один и тот же (подстройка веса под требуемую реакцию решающей функции).
    Что касается нормализации - это вообще бессмысленная операция, например вы делите например значение "входящего сигнала" со всех нейронов на количество нейронов (и это значение всегда константа). И константа абсолютно никак не влияет на процесс подгонки коэффициента (просто сам коэффициент будет например больше или меньше на эту константу), но как я уже сказал, нас НЕ интересует абсолютное значение коэффициента, нас волнует взамодействие коэффициента и решающей функции.
    надеюсь мысль ясна.
    напишите свою нейросеть, попытайтесь в ручную коэффициенты посчитать, все сами уведите.
    Ответ написан
    Комментировать
  • Классификация цифровых сигналов с помощью нейросетей?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    нейросетям требуется в любом случае функция оценки результата, на сколько ответ от нейросети правильный или нет. Тоесть если оценить результат не возможно (как входящие данные так и результат в виде типа сигнала не известны), то и обучить нейросеть не получится.
    но обучение без учителя, решаемая задача, особенно для кластеризации, такая кластеризация будет просто например по "близости" кластеров друг к другу, относительно параметров (без какой-либо связи с реальным результатом)
    Ответ написан
    Комментировать
  • Есть ли разница между моделью Маккалока-Питтса и персептроном Розенблатта и какая?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    модель Маккалока-Питтса - это математическая модель
    персептрон Розенблатта - это физическая реализация модели.
    тоесть об одном и томже речь
    Ответ написан
  • Как количество скрытых слоев влияет на результат работы нейросети?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Влияет.
    Больше слоев - напрямую увеличивает сложностью архитектуры, и увеличивает количество возможных вариаций взаимодействий. Что считается типа лучше для подгонки к решению.
    П. С.
    есть понимание что, каждый новый слой в нейросети должен СОКРАЩАТЬ энтропию с которой он работает, иначе просто бессмысленно увеличивать количество слоев, соответственно увеличивать количество слоев тоже нельзя бесконечно (также как и сокращать бесконечно энтропию)
    Ответ написан
    Комментировать
  • Какие знания необходимы для изучения нейронных сетей?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    базовых школьных знаний, как правило достаточно.
    Ответ написан
  • Классификация больших текстов через обучение с учителем - какие подходы существуют?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    А какой смысл вам переживать, получится или не получится? начните делать, хуже от этого никому не будет.
    По поводу подводных камней, само собой если вы принимаете за фитчу (сигнал), в нейросети например 1 слово, то увеличивая количество слов вы усиливаете этот сигнал - тексты где больше слов будут выдавать большие значения сигналов, где меньше слов - меньшие значения, поэтому вам нужно использовать нормализацию этих сигналов, грубо говоря например делить размер сигнала на количества слов в тексте, для каждого текста (ну и так будет "честнее" сравнивать, тексты разного обьема).
    По поводу падежей, родов - для этого используют стемминг, предварительную очистку текста от такой специфики (приведение текста в нейтральный вид). По поводу английский или русский - разницы никакой (только спемминг нужно под русский сделать), само обучение не имеет разницы.
    Для обучения по текстам, можно даже компьютеры из 90х использовать, все будет работать.
    Ответ написан
    7 комментариев
  • Изучение нейросетей или углубление в Python?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    предположу что такие вопросы (куда двигаться), связанны с непонимание зачем двигаться.
    нужно определиться для чего вы что-то изучаете, советую начать решать какие-то прикладные задачи, начать писать свои проекты, или участвовать в чужих интересных опен соурс проектах на гитхабе, в любом случае начать прорабатывать вполне конкретные задачи, возможно окажется что нейросети вам особо и не нужны будут (как бы не был заманчив окружающий хайп, в машинном обучении есть множество других методов успешного решения задач), может даже и питон особо не нужен будет. Может вам больше нужны конкретные проекты, и опыт решений прикладных задач.
    Ответ написан
    Комментировать
  • Каков принцип подбора весовых коэффициентов при обучении искусственной нейронной сети?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    классический подход принимает нейросеть как данность, архитектуру (количество слоев, решающая функция, взаимодействие между слоями), задается создателем, при обучении только "подгоняются" коэффициэнты под выбранную архитектуру.
    Веса НЕ сводятся к средним значениям, можно конечно усреднять но это бессмысленно (на что усреднять? в случаях с фотографий например на количество пикселей (входящих сигналов) чтоли? -> но фото подгоняют под определенные стандарты где все фотографии имеют одинаковое разрешение (одинаковое количество пикселей), поэтому это лишнее деление на константу, которое можно отбросить, если же усреднять на количество примеров -> то это просто приведет к тому что при увеличении выборки любой результат будет стремится к нулю)
    более того в обучающихся данных НИКАКИХ коэффициэнтов нет, в выборках есть сигналы (например пиксель, есть или нет - один или ноль), на эти сигналы мы никак не влияем, все что мы можем сделать:
    взять какую-то "решающую функцию" (например сумму всех входящих сигналов умноженных на неизвестные коэффициэнты) и решить при каком значении решающая функция будет отвечать нам "да" или "нет", например на вопрос это КОТ на фото? -> при сумме коэффициэнтов помноженных на входящий сигналы (на еденицу или ноль) и результат будет например больше 10, если больше 10 - то КОТ, меньше 10 - НЕ КОТ.
    а дальше - мы можем подбирать веса таким образом чтоб при выбранной "решающей функции" получать как можно чаще правильные ответы (при этом не важно что мы взяли за "отсекающее значение результата" для разделения на ДА ИЛИ НЕТ, значение 10 или 100000, мы тутже подгоним коэффициэнты таким образом чтоб это все равно работало, коэффициэнты в последнем случае по размеру лишь будут в 10000 раз больше).
    Ответ написан
    Комментировать
  • С чего начать обучение бота на нейронной сети?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    вы должны понимать зачем вам нужно использовать именно нейронную сеть.
    Вам лучше с самых азов зайти, кого обучать, как обучать и тд.
    например упростить задачу до обучения "футболиста" в качестве "автономного агента", на основе конечного автомата, у которого есть состояние (окружения и его самого) и есть действия - и вы пробуете разные комбинации этих состояний и действий.
    Например вы можете описать состояние футболиста как расположение мяча (справа слева впереди, впереди-справа, впереди слева и тд) - сопоставляешь этому состоянию отдельноое действие (движение вправо, влево и тд), дополнительно можешь сопоставить например расстояние до мяча.
    например мяч вверху-слева дистанция 10 ячеек -> действие агента -> движения прямо
    мяч справа слева дистанция 2 ячееки -> действие агента -> движение влево.
    в итоге у тебя получается записанные сопоставления состояниям и действиям.

    для того чтоб обучать оптимальному поведению тебе нужно вводить функцию оценки результата после действий, награждать (запоминать), действия которые приводят к увеличению результата, и отказываться от действий которые снижают результат.
    результатом может быть например 1/"расстояния до меча"
    в начале запускаешь агента с рандомными переборами взаимодействий между состояниями и действиями. Потом более менее обученных двигаться, запускаешь играть друг против друга например в футбол и тд.
    добавляешь к результату оценку результата матча и тд.
    можно использовать генетический алгоритм для более быстрого поиска оптимальных параметров конечного автомата, можешь попробовать потом нейросеть прикрутить. Можешь на основе статистики готовой какие-то выводы сделать (но у тебя статистики я так понимаю никакой нет, так что тебе все равно прийдется обучать бота, играя друг против друга, и перебирать случайные варианты).
    Ответ написан
    6 комментариев
  • Возможно ли натравить нейросеть для заработка на бинарных опционах?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Натравить можно, зарабатывать нельзя.
    этож казино в привокзальном лохотроне, в котором ты проигрываешь всегда, не зависимо от используемой методики.
    Ответ написан
    2 комментария
  • Нейроная сеть на бумаге?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    ну вот на пальцах например:
    у тебя фотография эта делится например на 9 секторов
    в каждом из них есть состояние например 1 или 0 (на состояние секторов ты не влияешь, а только оцениваешь)
    допустим данные с этих секторов считывает один нейрон - после того как он считал состояние всех секторов он должен делать вывод - круг это или квадрат
    этот вывод он делает на основе так называемой "решающей функции".
    допустим решающая функция такая - если сумма всех значений всех секторов больше 5 - значит это квадрат если меньше то это круг (решающие функции могут быть сложнее, но важна сама суть поиска решений)
    и суть такая ->
    на сами входящие значения ты не можешь влиять, поэтому чтоб влиять на результат, ты можешь перемножать на определенный коэффициент входящие значения, и варьируя коэффициент умножаемый на входящее значение ты подгоняешь результат "решающей функции" под требуемый результат. Подгонка эта происходит через процесс называемый обратное распространение ошибки.
    на входе 8 единиц (круг), в начале коэффициенты например равны единицы - сумма всех входящих значений умноженных на коэффициент - равна 8, ты проверяешь, соответствует она твой схеме (при которой круг это значения меньше 5) - нет 8 больше 5, значит ты понижаешь немного значения коэффициентов (обычно изменяют значения не сразу на необходимую величину а на небольшое значение, называемой лернинг рейтом) например на 0.1 (есть много других схем изменения коэффициентов), но вот из-за того что ты показываешь примеры с кругом и квадратом, то повышая на 0.1 значения активировавших нейрон входящих сигналов то понижая, у тебя выходит нужная схема, при которой при входе 8 секторов с единицами, 1 центральный ноль, у тебя сумма с коэффициентами выдает в ответе 4.8 например, что соответствует кругу, а значит коэффициент для всех входящих значений равен 0.6
    П. С.
    сама смысловая связь между каким-то классом, и значением больше 5 или меньше 5 - делает баесовская функция в нейроне, здесь же мы эти значения задали самостоятельно.
    Ответ написан
    Комментировать
  • Возможно ли создание искусственного интеллекта из сети интернет?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    нужно только понимать что мы подразумеваем под ИИ, нечто что способно обрабатывать входящую информацию самостоятельно, и самостоятельно принимать решения?
    да конечно, и уже множество их существует.
    а пытаться имитировать человеческий мозг, чудовищно дорого и бессмысленно, это другая система, с другими возможностями, и другим способом получения и обработки информации. Да и зачем пытаться имитировать то что любая баба бесплатно нарожает?
    Это как пытаться строить самолёты по подобию птиц -> нужно создавать нечто новое, а не цепляться за старое.
    Ответ написан
    Комментировать
  • Что таоке переобучение? И что такое модель?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    во первых обучают всегда на нужных данных.
    переобучение (ещё называют переподгонка) это когда именно переобучил, даже на "правильных" данных.
    грубо говоря это когда ты так обучил модель, что она просто в точности повторяет данные из обучающей выборки.
    такой эффект встречается, когда например пытаются максимально точно подогнать результаты алгоритма к обучающимся данным.
    это плохо тем что твой алгоритм не предсказывает что либо, а просто выдаёт ответ в точности как в обучающийся данных. пользы от этого никакой.
    Ответ написан
    Комментировать