Учимся обучать нейронные сети, за 30 минут от теории до практики.

Поделиться
HTML-код
  • Опубликовано: 21 фев 2017
  • Поговорим о там как можно обучить сеть методом обратного распространения ошибки. В данном видео затронуты (но не раскрыты) такие темы как:
    - производная • 02. Что такое производ...
    - число е • Число e.
    • Discord-чат академии: bit.ly/2K6XQQ2
    • Поддержать проект можно вот тут: / b0noi
    Notebook: s3-us-west-1.amazonaws.com/yo...

Комментарии • 521

  • @EXPBET
    @EXPBET 5 лет назад +214

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

    • @elxanelxanov258
      @elxanelxanov258 4 года назад +2

      U MENA TAKOYE JE OSUSENIYE

    • @user-fg3bz5wt5s
      @user-fg3bz5wt5s 4 года назад +2

      @@elxanelxanov258 Alt + Shift и Caps Lock

    • @donrumata5299
      @donrumata5299 4 года назад +1

      @@user-fg3bz5wt5s Win+Space

    • @gleb_bro8710
      @gleb_bro8710 4 года назад +2

      @@donrumata5299 alt + f4 или ctrl + w

    • @danya151mail
      @danya151mail 3 года назад +1

      ++, мог бы много хороших вопросов позадавать

  • @alyukovnet
    @alyukovnet 7 лет назад +94

    Делаю проект, связанный с нейронными сетями. Этот ролик всё понятно поясняет. Пока не нашёл аналогов в русском Ютубе. Большое спасибо

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад +3

      Спасибо!

    • @spawn1411
      @spawn1411 5 лет назад +2

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

  • @danyalmugutdinov7283
    @danyalmugutdinov7283 7 лет назад +103

    Отличная идея с математикой. Просто изучать математику довольно скучно и если вы будете делать уроки по ML , оставляя ссылки на видео с объяснением применных математических терминов , то это будет просто изумительно. В общем я считаю, что имеет место делать уроки по математике в контексте ML

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад +21

      Думаем начать с урока о чем то простом вроде операций над векторами и том как numpy это упрощает а то возможно код может показаться немного непонятным при первом изучении.

  • @kotnetrezviy
    @kotnetrezviy 6 лет назад +17

    import numpy as np
    import sys
    class PartyNN(object):
    def __init__(self, learning_rate=0.1):
    self.weights_0_1 = np.random.normal(0.0, 2 ** -0.5, (2,3))
    self.weights_1_2 = np.random.normal(0.0, 1, (1, 2))
    self.sigmoid_mapper = np.vectorize(self.sigmoid)
    self.learning_rate = np.array([learning_rate])
    def sigmoid(self, x):
    return 1 / (1 + np.exp(-x))
    def predict(self, inputs):
    inputs_1 = np.dot(self.weights_0_1, inputs)
    outputs_1 = self.sigmoid_mapper(inputs_1)
    inputs_2 = np.dot(self.weights_1_2, outputs_1)
    outputs_2 = self.sigmoid_mapper(inputs_2)
    return outputs_2
    def train(self, inputs, expected_predict):
    inputs_1 = np.dot(self.weights_0_1, inputs)
    outputs_1 = self.sigmoid_mapper(inputs_1)
    inputs_2 = np.dot(self.weights_1_2, outputs_1)
    outputs_2 = self.sigmoid_mapper(inputs_2)
    actual_predict = outputs_2[0]
    error_layer_2 = np.array([actual_predict - expected_predict])
    gradient_layer_2 = actual_predict * (1 - actual_predict)
    weights_delta_layer_2 = error_layer_2 * gradient_layer_2
    self.weights_1_2 -= (np.dot(weights_delta_layer_2, outputs_1.reshape(1, len(outputs_1)))) * self.learning_rate
    error_layer_1 = weights_delta_layer_2 * self.weights_1_2
    gradient_layer_1 = outputs_1 * (1 - outputs_1)
    weights_delta_layer_1 = error_layer_1 * gradient_layer_1
    self.weights_0_1 -= np.dot(inputs.reshape(len(inputs), 1), weights_delta_layer_1).T * self.learning_rate
    def MSE(y, Y):
    return np.mean((y-Y)**2)
    train = [
    ([0, 0, 0], 0),
    ([0, 0, 1], 1),
    ([0, 1, 0], 0),
    ([0, 1, 1], 0),
    ([1, 0, 0], 1),
    ([1, 0, 1], 1),
    ([1, 1, 0], 0),
    ([1, 1, 1], 1),
    ]
    epochs = 5000
    learning_rate = 0.05
    network = PartyNN(learning_rate=learning_rate)
    for e in range(epochs):
    inputs_ = [ ]
    correct_predictions = [ ]
    for input_stat, correct_predict in train:
    network.train(np.array(input_stat), correct_predict)
    inputs_.append(np.array(input_stat))
    correct_predictions.append(np.array(correct_predict))
    train_loss = MSE(network.predict(np.array(inputs_).T), np.array(correct_predictions))
    sys.stdout.write("
    Progress: {}, Training loss: {}".format(str(100 * e/float(epochs))[:4], str(train_loss)[:5]))
    for input_stat, correct_predict in train:
    print("For input: {} the prediction is: {}, expected: {}".format(
    str(input_stat),
    str(network.predict(np.array(input_stat)) > .5),
    str(correct_predict == 1)))
    for input_stat, correct_predict in train:
    print("For input: {} the prediction is: {}, expected: {}".format(
    str(input_stat),
    str(network.predict(np.array(input_stat))),
    str(correct_predict == 1)))

  • @danyalmugutdinov7283
    @danyalmugutdinov7283 7 лет назад +103

    Поделюсь, расскажу друзьям, покажу девушкею. Что угодно, только продолжай , прошу тебя =)

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад +22

      Спасибо большое, чем больше просмотров тем больше у нас стимула продолжать делать видео на эту тему =)

  • @sergeykorshunov9508
    @sergeykorshunov9508 7 лет назад +19

    Самые толковые примеры из того, что мне до сих пор доводилось видеть. Спасибо!

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад +4

      и вам спасибо, будем очень благодарны если поможете распространить =)

  • @ilyakiselev113
    @ilyakiselev113 6 лет назад +7

    Впервые вижу такой качественный контент по нейронным сетям! Я пошел учить питон...

  • @KlimKovalenko
    @KlimKovalenko 7 лет назад +292

    Пожалуй это лучшее толкование на русском языке, спасибо большое)

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад +31

      И вам спасибо большое!

    • @MrGerser
      @MrGerser 6 лет назад +16

      Пожалуй лучше было бы слышать монолог.
      Глеб тут явно лишний.

    • @MisterKoK22
      @MisterKoK22 4 года назад +8

      @@MrGerser ничуть не лишний. Он как индикатор. Раз головой кивает, значит и другие слушатели будут понимать.

    • @jonueflbana6864
      @jonueflbana6864 4 года назад +2

      Поддерживаю - самое толковое видео.

    • @KiraLis39
      @KiraLis39 4 года назад +1

      @@MisterKoK22 да ничерта не понятно никому, и ему самому, похоже. херовый индикатор либо просто бесит.

  • @mirlaniusUMK
    @mirlaniusUMK 7 лет назад +6

    Отличнейший урок про нейросеть! Спасибо большое

  • @taraun5258
    @taraun5258 7 лет назад +7

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

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад

      +Александр Петров и Вам спасибо ! Будем признательны за помощь с распространением:)

  • @user-xm8zt8ru1z
    @user-xm8zt8ru1z 6 лет назад +1

    Большое спасибо. Очень помогает разобраться с основными принципами.

  • @vadimpervouralsk
    @vadimpervouralsk 7 лет назад +10

    Спасибо чувак, первый раз нормальное объяснение нашёл

  • @drimeF0
    @drimeF0 3 года назад

    Лучший курс в мире, все понятно и ясно. Спасибо за курс

  • @user-dk8zi8mg4f
    @user-dk8zi8mg4f 3 года назад +1

    Ну наконец-то я увидел и услышал про функцию активации в понятной форме, спасибо автору. Для новичков супер! 3 месяца искал нормальное толкование!

  • @slysuslik
    @slysuslik 6 лет назад

    Просто супер и все понятно! Спасибо за такие интересные и понятные видео!

  • @vitalikvitalik9765
    @vitalikvitalik9765 7 лет назад

    Вот это я понимаю, понятно и с примерами!!! пойду смотреть дальше и показывать всем =)

  • @IT_business_in_Russia
    @IT_business_in_Russia 6 лет назад

    Спасибо за Ваш труд, все очень подробно и понятно

  • @alexeykonyagin9916
    @alexeykonyagin9916 7 лет назад +2

    Отличный урок, спасибо!

  • @silentnight.official4261
    @silentnight.official4261 3 года назад +2

    Хороший формат, формирует интуиции для дальнейшего углубления в тему. Детали лучше понимаешь на родном языке, как ни крути.

  • @Mar_chella
    @Mar_chella Год назад

    Супер! Очень понятный и полезный контент . Благодарю автора

  • @HellbringerOnline
    @HellbringerOnline 7 лет назад +21

    А зачем нужен чувак, которому всё понятно и всегда говорит да? =) Хотя бы поспрашивал мол веса что такое поподробнее можно?.

  • @Xpect1337
    @Xpect1337 6 лет назад

    Potryasayusheye video!! Ogromnoe spasibo!

  • @sticktogether2326
    @sticktogether2326 4 года назад +2

    Переписал эту нейронку (пришлось потратить немало времени на понятие синтаксиса Python) на С++. При тех же вводных (5000 поколений и 0.08 learning_rate) ошибка сети на выходе 0.003.
    Спасибо огромное тебе за очень понятное объяснение. В ру сигменте найти человека, который так подробно может разжевать что и как делается - как иголку в стоге сена искать.

  • @alexpaskal8345
    @alexpaskal8345 5 лет назад

    Спасибо огромное! Это поистине самое понятное объяснение

  • @user-lv1ll2ql8c
    @user-lv1ll2ql8c 7 лет назад +2

    Круто!Нечасто можно найти такой полезный контент.Однозначно лайк

  • @Riderwin
    @Riderwin 6 лет назад

    Очень интересно, огромное спасибо ! , надеюсь это не последнее видео )

  • @syntes5681
    @syntes5681 4 года назад +2

    Мне бы такого друга, который может слушать рассказ в течение получаса и более )

  • @NoodLez0000
    @NoodLez0000 6 лет назад

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

  • @SKYDELSTV
    @SKYDELSTV 5 лет назад

    Nice, с удовольствием смотрю!!!)

  • @nurlannurmash4155
    @nurlannurmash4155 2 года назад +1

    Спасибо вам за видео, лучшие!

  • @YasnaKo
    @YasnaKo 4 года назад

    Спасибо большое, очень интересно!

  • @user-gz6cr1tp9q
    @user-gz6cr1tp9q 6 лет назад

    Спасибо! Наконец-то понял про нейронные сети

  • @user-gk4nu1ic3w
    @user-gk4nu1ic3w 3 года назад

    Отличное видео, не скажу что все объясненно досконально но разобраться очень помогло. Спасибо!

  • @LS-oh6po
    @LS-oh6po 8 месяцев назад +1

    У меня тоже все получилось!!!! Как интересно. Я правда очень простую программку на Питоне написал (только неделю назад изучил как на нем программировать), но все получилось. . 5000 итераций и learning rate 0.05. Огромное спасибо авторам за такое простое и гениальное объяснение непростого материала!!!

  • @1stface
    @1stface 4 года назад

    Спасибо парням за видео. Пожалуй , изложение материала понятней чем здесь , я нигде не видел. Возможно , в силу своей восприимчивости. Наконец-то бахнул свою первую нейронку для игрового бота, счастью нет предела))

  • @vladimirleonenko6284
    @vladimirleonenko6284 4 года назад

    Одно из лучших демо нейросети, еще есть несколько других уроков, которые вместе позволяют хорошо усвоить тему

  • @kirylkudrautsau896
    @kirylkudrautsau896 6 лет назад

    Господа, сегодня знаменательный день. Стало понятно! Огромное спасибо за материал.

  • @dmitriytyurnin4605
    @dmitriytyurnin4605 7 лет назад +3

    Браво!
    Отправил друзьям!

  • @user-ep5oc5wt3v
    @user-ep5oc5wt3v 4 года назад +2

    Было бы неплохо продолжить данную тему, очень хороший спрос.

  • @1000milliwatt
    @1000milliwatt 7 лет назад

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

  • @egormarkin858
    @egormarkin858 3 года назад

    Объясняет очень сложную вещь как на духу!! Спасибо

  • @user-ie2kx2uw6x
    @user-ie2kx2uw6x 6 лет назад +1

    Спасибо большое, очень доходчиво рассказано)
    Лайк, подписка)

  • @sergeychaban3321
    @sergeychaban3321 5 лет назад

    Благодарю за доходчивое изложение и реальный пример обучения нейросети.
    Повторил всю методологию обучения нейросети из Вашего примера, но на Delphi 7.
    Правда, писал более универсальный и "тяжелый" код, под свои собственные задачи.
    Нейрон был описал отдельным классом, дабы потом можно было создавать произвольный массив из нейронов.
    В результате программа на Delphi те же 4000 эпох из примера "отработала" за 15 секунд (в Вашем примере на Питоне около 6 секунд).
    Оно может дело и в железе (у меня Celeron G1820 2.7GHz), но не думаю, что "причесывая" делфийский код, мне удастся сократить время выполнения в 2.5...3 раза.
    Т.е. налицо имеет место быть факт "заточенности" Питона под нейросети.

  • @alexandr7426
    @alexandr7426 3 года назад

    Спасибо! Всё понятно!

  • @fedorchernolutsky146
    @fedorchernolutsky146 6 лет назад +3

    Чего-то голова уже не работает. Видео супер!)

  • @IT_business_in_Russia
    @IT_business_in_Russia 6 лет назад

    Спасибо! Просто супер

  • @mr.goldenman2403
    @mr.goldenman2403 Год назад

    спасибо вам большое, у вас самое понятное объяеснение, которое я нашел

  • @sergeydemidov1112
    @sergeydemidov1112 4 года назад

    Ребят, спасибо вам большое. Я около десяти видео просмотрел, что бы это найти. Обучение нигде не объясняют. Все или в магию готовых библиотек уходят или просто молча опускают. Очень понятно. Даже если не понимать что такое сигмоида и производная :)

  • @user-yc7pg2jk9y
    @user-yc7pg2jk9y 5 лет назад

    Шикарная тема!

  • @torbokovsanat
    @torbokovsanat 3 года назад

    респект за видео, отдельно за юмор ))) 8:45 - запихиваем незапихуемое )))

  • @user-gg5rf6md3k
    @user-gg5rf6md3k 7 лет назад

    Спасибо большое. Очень подробно обьяснили... лайк+подписка

    • @user-gg5rf6md3k
      @user-gg5rf6md3k 7 лет назад

      Если еще не трудно, можете запилить видео с предсказаниями в нейронных сетях?

  • @user-gu1sv3ct4f
    @user-gu1sv3ct4f 7 лет назад

    Спасибо огромное!!!

  • @ukratitelkisok9726
    @ukratitelkisok9726 Год назад

    Определённо лучшие видео в русском ютуб, спасибо

  • @slavas9200
    @slavas9200 4 года назад +1

    Спасибо огромное! Наконец, по теме, а то везде сплошная реклама облаков с черными ящиками.

  • @theomi8633
    @theomi8633 5 лет назад +2

    11:15 sigmoid(x)dx = f'(x)dx, в такой записи сигмоида - уже производная при дифф. 1- форме. Правильно так - sigmoid'(x)dx=sigmoid(x)(1-sigmoid(x))dx

  • @ashwhwhdh
    @ashwhwhdh Год назад +1

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

  • @orthodox_channel
    @orthodox_channel Год назад +1

    Добрый день, дайте пожалуйста ссылку на материал по производным.

  • @alexk5636
    @alexk5636 7 лет назад +3

    Мега круто . Хочу еще . Больше примеров . Тема зашла, было интересно.Спасибо большое.
    Интересен был бы пример с определением того что находится на изображении.
    P.S. Жаль в универе мне не так статы и кванты объясняли.

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад +1

      Спасибо большое. А в какомы вы универе?

    • @alexk5636
      @alexk5636 7 лет назад

      Одесский национальный университет, физический факультет .
      Уже окончил.
      Решил расширить горизонты и изучить Java в чем ваши курсы несомненно помогают, а тут еще и тема интересная.

  • @user-cg5mg1id3g
    @user-cg5mg1id3g 7 лет назад

    Здравствуйте! Большое спасибо за очень интересный и понятный материал! Почти все усвоил с первого просмотра)) Но пожалуйста, подскажите каким образом считать ошибку если например в выходном слое несколько нейронов?
    Как я понял выходной слой считается так-же как и у вас, а вот что делать со скрытыми/входным? Пока на уме крутится мысль в цикле считать ошибку для нейронов текущего слоя на основании каждого нейрона следующего, но интуиция подсказывает что из этого получится что-то некорректное. Подскажите пожалуйста, как будет правильно?

  • @user-bf9ze3ms5u
    @user-bf9ze3ms5u 6 лет назад

    наконец то нормальное видео по нейронным сетям

  • @victorbasanets2939
    @victorbasanets2939 6 лет назад

    Да ну и конечно видео полезное и интересное

  • @hikkarion
    @hikkarion 7 лет назад +5

    Отличные уроки, было бы вообще круто, если бы это вылилось в полноценный курс с разбором современных библиотек глубокого обучения и реальными кейсами! Пока самые понятные объяснения, которые я слышал, ну и Ng конечно тоже хорош, но у него Octave( , а тут сразу на актуальном языке было бы вообще отличной.

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад +1

      На это пока что времени нету, но когда то на базе Хекслета возможно появиться =)

    • @easyelectronicsru
      @easyelectronicsru 6 лет назад

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

  • @N1nemaN
    @N1nemaN 7 лет назад +2

    Лучшее на русском, что смог найти. Благодарю. Продолжайте!

  • @clanwarexperiment2397
    @clanwarexperiment2397 5 лет назад

    А так спасибо тебе большое. Классное видео. Глеб умница тоже)

  • @retret4538
    @retret4538 6 лет назад

    ДА ТЫ ПРОСТО БОГ АЛО СТОЛЬКО САЙТО И ВСЁ НЕПОНЯТНО КАК ТЫ ДОЛЖЕН ЗАПИСАТЬ ЭТИ ФОРМУЛЫ, А ТЫ ПРЯМ ПО ПАЛЬЦЕМ НА ПАЛЬЦАХ В 100 СТЕПЕНИ РАСФОРМУЛИРОВАЛ СПАСИБО МОЛОДЕЦ АЛЛО ЛУЧШИЙ

  • @vadimzaytsev7176
    @vadimzaytsev7176 6 лет назад

    перечитал кучу литературы и видео но только после вашего понял что к чему одним словом супер!

  • @biohobby
    @biohobby 4 года назад

    Супер!

  • @zhannashangitova
    @zhannashangitova 4 года назад

    Добрый день! Я только начала изучать нейросети. Программа на Jupyter Notebook обучила сеть , какой результат нужно выдавать в конце при определенных входных данных. Т.е. мы обучили сеть для того чтобы после введения новых данных предсказывать результаты с максимальной точностью. Правильно я поняла? Теперь у меня есть вопрос, как вводить данные для предсказания новых результатов?

  • @lekkaverhovcev6334
    @lekkaverhovcev6334 7 лет назад

    Лайк поставлен. Пошел рекомендовать друзьям.)

  • @filinsstudio7530
    @filinsstudio7530 7 лет назад +3

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

  • @Hunter6745
    @Hunter6745 6 лет назад +1

    а какую дельту брать? ну например у нас несколько выходных нейронов

  • @dimalektor
    @dimalektor 4 месяца назад

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

  • @ThA891
    @ThA891 3 года назад +2

    просто охренеть! Автора в рай!

  • @konstantin7899
    @konstantin7899 6 лет назад

    Грамотно!

  • @andreybudnikov5920
    @andreybudnikov5920 4 года назад

    Я правильно понимаю, в массиве train должны быть только 0 и 1? На нем и тренируется сеть. А при использовании, другим массивом/обьектом вставляются уже искомые данные?
    Запутался просто. У меня есть набор данных, на которых нужно натренировать сеть, правильно ли их вставлять в train?

  • @user-rv3hh7le6b
    @user-rv3hh7le6b 3 года назад +1

    Блин, по такому хорошему рассуждению можно даже нейронку в Scratch забацать! Классно)

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  3 года назад +1

      want to record this and upload on this channel;)?

    • @user-rv3hh7le6b
      @user-rv3hh7le6b 3 года назад

      @@KovalevskyiAcademy When i will can - i will)

  • @rolandasterminas7232
    @rolandasterminas7232 3 года назад

    SUPER!!!!

  • @AllpowerfulAndrew
    @AllpowerfulAndrew 7 лет назад +1

    Вячеслав, а что если вместо Python использовать Scala? Это же не так больно, как Java, нет?

  • @vazgenmkrtchyan9390
    @vazgenmkrtchyan9390 3 года назад

    классное видео! а скажите пожалуйста как расчитать ошибку если выходной слой более 1 -ого нейрона?

  • @svlasiuk
    @svlasiuk 7 лет назад

    сетка написана на 3 питоне? её можно где-то по заимствовать для своих тестов?

  • @danildanilov843
    @danildanilov843 6 лет назад

    Сразу говорю спасибо авторам этого ролика, но у меня возник вопрос, что делать если кол-во нейронов на скрытом уровне тысячи? я имею ввиду как код писать? если я один хочу написать такую сеть, то я должен строчить день и ночь? или есть другой вариант?

  • @user-ue8bh7tj5k
    @user-ue8bh7tj5k 3 года назад

    Хотел спросить. Weight_delta это локальный минимум (градиент) функции?

  • @user-ud2nz8ir4z
    @user-ud2nz8ir4z 7 лет назад +1

    Видео очень понравилось! Никогда не думал, что с помощью математических формул можно делать такие выкрутасы с обучением. Было бы идеально, если бы код был бы ещё и на других языках вроде С++, если это, конечно сильно не затруднит. Спасибо.

    • @Roman_Gennadevich
      @Roman_Gennadevich 2 года назад

      А смысл???
      Тут суть есть, осталось только переписать через нужный язык.

  • @user-tb4pk3lf8r
    @user-tb4pk3lf8r 7 лет назад

    огромное вам спасибо
    это лучшее что я видел по нсхоть и не люблю питон
    но вам все равно огромное спасибо

  • @ratrat2056
    @ratrat2056 3 года назад

    Добрый день! Играюсь с данным кодом, подскажите - как можно уже на этой обученной сети задать новый вход без известного исхода, чтоб она показала результат исходя из обучения?... :) Заранее спасибо!

  • @user-sk4te1uk3h
    @user-sk4te1uk3h 5 лет назад

    если у меня полученный результат равен 0.8,а ожидаемый равен 1,получается error=0.8-1=-0.2.Меня очень смущает знак минус,следом в расчете дельта весов тоже будет отрицательное значение и т.д. Скажите,пожалуйста,что мы берем по модулю...

  • @user-ob2xn1bq4e
    @user-ob2xn1bq4e 5 лет назад

    Есть подобные материалы по методу обучения генетическим алгоритмом?

  • @mikhailsmirnov725
    @mikhailsmirnov725 4 года назад

    for input_stat, correct_predict in train: SyntaxError: invalid syntax Указывает на двоеточие в конце. в чем проблема может быть?

  • @musicits_fun
    @musicits_fun 7 лет назад +7

    А рекурентные сети так же подробно будут? :)

  • @VirtualSUN
    @VirtualSUN 7 лет назад +3

    Фух-х-х... Спасибо. Пересмотрел это видео до "дыр". Уже несколько дне ничего не получалось. НС не хотела учится... Сделал так, чтоб можно было указывать количество слоёв и нейронов в них.
    Только, что нарисовал все эти "пути" обучения... Ну, короче, Я морознул малость еще в самом начале. :) Но все получилось! Даже может предсказывать значения не из выборки. :)

  • @arsenthompson
    @arsenthompson 3 года назад +1

    а у вас когда ошибку вычисляете надо наоборот error = expected-actual , во многих ресурсах видел именно обратное вычисление вашему ошибки.
    Или я ошибаюсь?

  • @dubakovsv
    @dubakovsv 7 лет назад

    День добрый, коллеги. Прогнозирую временной ряд в котором ответы числа примерно от 600 до 1600. И есть десяток значений около нуля. Метод обратного распространения ошибки в предложенном виде не прогнозирует эти вывалы в ноль. А если веса менять в плюс или минус перебором, уменьшая шаг, то вывалы в ноль успешно прогнозируются. Однако это очень затратно по времени и результат не стабилен.
    Вопрос. Как модифицировать алгоритм обратного распространения, чтобы он минимизировал не абсолютное отклонение от результата, а процент. То есть не error=actual-expected, а error=(actual-expected)/actual (в таком виде не работает)

  • @user-gw9zc7pw2s
    @user-gw9zc7pw2s 3 года назад +2

    Спасибо за материал. Кто-нибудь, объясните что такое "дифференциал производная сигмоиды" в расчете дельты весов... В уравнении показано произведение функции сигмоиды на приращение её аргумента. Не понимаю.

    • @blacktechnology6496
      @blacktechnology6496 2 года назад

      Я тоже не понял сначала, по-моему это просто производная сигмоиды по х. Ошиблись при записи, видимо.

  • @stepankhalatyan
    @stepankhalatyan 6 лет назад +3

    Запиши, пожалуйста, такое же понятное обьяснение про обучение без учителя!)

  • @6556
    @6556 Год назад

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

  • @wowonder3639
    @wowonder3639 2 года назад

    А что будет если поставить learning_rate 1? Формула сама за себя говорит, я немного не понимаю зачем замедлять обучение.

  • @irinaira7127
    @irinaira7127 7 лет назад +1

    Добрый день. У меня вопрос по поводу формулы, по которой Вы рассчитываете дельту весов. Не могли бы Вы дать ссылку на источник, из которого была взята данная формула? Хотелось бы подробнее о ней почитать и узнать почему она имеет именно такой вид. Спасибо.

    • @IgorAherne
      @IgorAherne 6 лет назад +1

      поищите мой комментарий под этим видео(по-поводу того "как распространять ошибку на болеее глубокие уровни"), он поможет разобраться.

  • @tehhasrussian5714
    @tehhasrussian5714 Год назад +2

    Спасибо за подробный обзор работы сети и формул!
    Но возникли вопросы:
    - как проводить обучение нейросети,если ожидаемое значение неизвестно,например при прогнозировании погоды?
    - где можно увидеть ваш код нейронки?

    • @user-oz6nl6pd1s
      @user-oz6nl6pd1s 6 месяцев назад

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

  • @user-mk5ie3ob8p
    @user-mk5ie3ob8p 5 лет назад

    Я себе так и представлял нейросеть, но вот обратный анализ это круто, можно сделать ещё интересней, но это на примере другом разбирать нужно, где больше трёх вариантов.

  • @gentleNES
    @gentleNES 7 лет назад +11

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

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад +9

      s3-us-west-1.amazonaws.com/youtube-channel/nn_training_2_layer_network.ipynb - готово =)

    • @murikoz5399
      @murikoz5399 7 лет назад

      а куда это нужно "запихать" чтобы было в читабельном виде? а за видосы большие пальцы вверх. спасибо

    • @alyukovnet
      @alyukovnet 7 лет назад +1

      Это формат jupiter notebook. Закидываешь сюды try.jupyter.org

    • @MrAkvalar
      @MrAkvalar 6 лет назад

      я так понимаю это для линукса?