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

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

КОМЕНТАРІ • 522

  • @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 3 роки тому +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 это упрощает а то возможно код может показаться немного непонятным при первом изучении.

  • @vadimpervouralsk
    @vadimpervouralsk 7 років тому +10

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

  • @mirlaniusUMK
    @mirlaniusUMK 7 років тому +6

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

  • @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)))

  • @sergeykorshunov9508
    @sergeykorshunov9508 7 років тому +19

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

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 років тому +4

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

  • @user-xm8zt8ru1z
    @user-xm8zt8ru1z 6 років тому +1

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

  • @slysuslik
    @slysuslik 5 років тому

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

  • @IT_business_in_Russia
    @IT_business_in_Russia 6 років тому

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

  • @taraun5258
    @taraun5258 7 років тому +7

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

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 років тому

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

  • @danyalmugutdinov7283
    @danyalmugutdinov7283 7 років тому +103

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

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 років тому +22

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

  • @drimeF0
    @drimeF0 3 роки тому

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

  • @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 да ничерта не понятно никому, и ему самому, похоже. херовый индикатор либо просто бесит.

  • @vitalikvitalik9765
    @vitalikvitalik9765 7 років тому

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

  • @user-dk8zi8mg4f
    @user-dk8zi8mg4f 3 роки тому +1

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

  • @Mar_chella
    @Mar_chella Рік тому

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

  • @alexpaskal8345
    @alexpaskal8345 5 років тому

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

  • @ilyakiselev113
    @ilyakiselev113 6 років тому +7

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

  • @alexeykonyagin9916
    @alexeykonyagin9916 7 років тому +2

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

  • @silentnight.official4261
    @silentnight.official4261 3 роки тому +2

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

  • @user-lv1ll2ql8c
    @user-lv1ll2ql8c 7 років тому +2

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

  • @Riderwin
    @Riderwin 6 років тому

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

  • @Xpect1337
    @Xpect1337 6 років тому

    Potryasayusheye video!! Ogromnoe spasibo!

  • @nurlannurmash4155
    @nurlannurmash4155 2 роки тому +1

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

  • @NoodLez0000
    @NoodLez0000 6 років тому

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

  • @user-gk4nu1ic3w
    @user-gk4nu1ic3w 3 роки тому

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

  • @YasnaKo
    @YasnaKo 4 роки тому

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

  • @user-gz6cr1tp9q
    @user-gz6cr1tp9q 6 років тому

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

  • @dmitriytyurnin4605
    @dmitriytyurnin4605 7 років тому +3

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

  • @1stface
    @1stface 4 роки тому

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

  • @SKYDELSTV
    @SKYDELSTV 5 років тому

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

  • @user-ie2kx2uw6x
    @user-ie2kx2uw6x 6 років тому +1

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

  • @kirylkudrautsau896
    @kirylkudrautsau896 6 років тому

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

  • @IT_business_in_Russia
    @IT_business_in_Russia 6 років тому

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

  • @sergeychaban3321
    @sergeychaban3321 5 років тому

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

  • @alexandr7426
    @alexandr7426 2 роки тому

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

  • @sticktogether2326
    @sticktogether2326 4 роки тому +2

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

  • @egormarkin858
    @egormarkin858 3 роки тому

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

  • @user-yc7pg2jk9y
    @user-yc7pg2jk9y 5 років тому

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

  • @alexk5636
    @alexk5636 7 років тому +3

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

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 років тому +1

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

    • @alexk5636
      @alexk5636 7 років тому

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

  • @user-gu1sv3ct4f
    @user-gu1sv3ct4f 7 років тому

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

  • @user-ep5oc5wt3v
    @user-ep5oc5wt3v 4 роки тому +2

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

  • @vladimirleonenko6284
    @vladimirleonenko6284 4 роки тому

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

  • @1000milliwatt
    @1000milliwatt 7 років тому

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

  • @sergeydemidov1112
    @sergeydemidov1112 4 роки тому

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

  • @mr.goldenman2403
    @mr.goldenman2403 Рік тому

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

  • @syntes5681
    @syntes5681 4 роки тому +2

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

  • @LS-oh6po
    @LS-oh6po 7 місяців тому +1

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

  • @fedorchernolutsky146
    @fedorchernolutsky146 5 років тому +3

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

  • @hikkarion
    @hikkarion 7 років тому +5

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

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 років тому +1

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

    • @easyelectronicsru
      @easyelectronicsru 6 років тому

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

  • @user-gg5rf6md3k
    @user-gg5rf6md3k 6 років тому

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

    • @user-gg5rf6md3k
      @user-gg5rf6md3k 6 років тому

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

  • @clanwarexperiment2397
    @clanwarexperiment2397 5 років тому

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

  • @HellbringerOnline
    @HellbringerOnline 7 років тому +21

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

  • @N1nemaN
    @N1nemaN 7 років тому +2

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

  • @user-tb4pk3lf8r
    @user-tb4pk3lf8r 7 років тому

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

  • @torbokovsanat
    @torbokovsanat 3 роки тому

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

  • @filinsstudio7530
    @filinsstudio7530 7 років тому +3

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

  • @vadimzaytsev7176
    @vadimzaytsev7176 6 років тому

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

  • @victorbasanets2939
    @victorbasanets2939 6 років тому

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

  • @user-cg5mg1id3g
    @user-cg5mg1id3g 7 років тому

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

  • @konstantin7899
    @konstantin7899 5 років тому

    Грамотно!

  • @user-ud2nz8ir4z
    @user-ud2nz8ir4z 7 років тому +1

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

    • @Roman_Gennadevich
      @Roman_Gennadevich 2 роки тому

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

  • @biohobby
    @biohobby 4 роки тому

    Супер!

  • @slavas9200
    @slavas9200 4 роки тому +1

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

  • @tehhasrussian5714
    @tehhasrussian5714 Рік тому +2

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

    • @user-oz6nl6pd1s
      @user-oz6nl6pd1s 5 місяців тому

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

  • @user-rv3hh7le6b
    @user-rv3hh7le6b 3 роки тому +1

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

  • @mr-xl9pj
    @mr-xl9pj 3 роки тому +2

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

  • @lekkaverhovcev6334
    @lekkaverhovcev6334 7 років тому

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

  • @retret4538
    @retret4538 6 років тому

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

  • @user-bf9ze3ms5u
    @user-bf9ze3ms5u 6 років тому

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

  • @VirtualSUN
    @VirtualSUN 6 років тому +3

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

  • @orthodox_channel
    @orthodox_channel Рік тому +1

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

  • @rolandasterminas7232
    @rolandasterminas7232 3 роки тому

    SUPER!!!!

  • @user-mk5ie3ob8p
    @user-mk5ie3ob8p 5 років тому

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

  • @ukratitelkisok9726
    @ukratitelkisok9726 Рік тому

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

  • @theomi8633
    @theomi8633 5 років тому +2

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

  • @vahagnadunc8852
    @vahagnadunc8852 6 років тому

    super!

  • @ashwhwhdh
    @ashwhwhdh Рік тому +1

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

  • @andreybudnikov5920
    @andreybudnikov5920 4 роки тому

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

  • @zhannashangitova
    @zhannashangitova 4 роки тому

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

  • @musicits_fun
    @musicits_fun 7 років тому +7

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

  • @vazgenmkrtchyan9390
    @vazgenmkrtchyan9390 3 роки тому

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

  • @Hunter6745
    @Hunter6745 6 років тому +1

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

  • @DrLugaro
    @DrLugaro 6 років тому

    Боже мой, дня 3 не мог понять почему сеть не сходится, столько всего перечитал, а это видео вообще по секунде помню..
    Один мать его символ!! При подсчете весов первого слоя в цикле проходил не по 3 элементам, а по 2вум, банальная опечатка... и самое забавное что сеть ошибалась примерно на 90%
    Автору видео большое спасибо, из того что я видел, это пожалуй лучшее вводное видео для понимания "Как это работает"

  • @dimalektor
    @dimalektor 3 місяці тому

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

  • @danildanilov843
    @danildanilov843 6 років тому

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

  • @incinerate5401
    @incinerate5401 7 років тому

    Приветствую, Вячеслав! Отличные видео! Можете подсказать материалы, по которым можно разобраться основательнее и подробнее с темами нейронных сетей и машинного обучения? Я знаю про курсы на stepic, coursera, EdX, может ещё что-то? Что-то, что может сделать из меня джедая deep learning'a?)

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 років тому +2

      www.deeplearningbook.org =)

    • @incinerate5401
      @incinerate5401 7 років тому

      Спасибо, с нетерпением жду новых видео!)

  • @dosxanzada
    @dosxanzada 5 років тому +1

    Так круто объясняешь, первое видео совсем улёт, то что я не мог понять за один семестр понял всего лишь за пол часа. А здесь у меня вопрос, откуда появился 0.5 и 0.52? Это тоже рандомно?

  • @victorbasanets2939
    @victorbasanets2939 6 років тому +3

    Здравствуйте. Я наверное что-то путаю но вопрос следующий, выражение типа sigmoid(x) dx означает производную функции sigmoid или её дифференциал? Если первое то что тогда d sigmoid / dx, так как выражение sigmoid(x) (1 - sigmoid(x)) это результат вычисления производной данной функции

    • @MrAkvalar
      @MrAkvalar 6 років тому +1

      а производная и дифференциал это не одно и то же?

    • @user-xl2tf4gq1g
      @user-xl2tf4gq1g 4 роки тому

      @@MrAkvalar одно и то же

  • @vvv228
    @vvv228 4 роки тому +3

    Респект тобі! Якби не ці відоси, я б не розібрався. Лайк!

  • @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 років тому

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

  • @AllpowerfulAndrew
    @AllpowerfulAndrew 7 років тому +1

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

  • @dubakovsv
    @dubakovsv 7 років тому

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

  • @Const.Kharkiv
    @Const.Kharkiv 5 років тому

    отлично

  • @svlasiuk
    @svlasiuk 6 років тому

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

  • @INVSECRET
    @INVSECRET 2 роки тому

    круто

  • @RovshanMusayev
    @RovshanMusayev 6 років тому +3

    А нельзя ли написат алгоритм чтобы подобрать самого "epochs" и "learning_rate" для того чтобы добится "training_loss" ближе к "0" чтобы программа сама решала какое "epochs" и "learning_rate" лучше подходит к етому задацу и при етом исклюцат ручного работу полностю?

    • @IgorAherne
      @IgorAherne 6 років тому

      Можно, например алгоритм iRprop+ хранит отдельно learning_rate для каждого веса. Сходится за 50 итераций, в то время как обычная сетка (с моментумом) сходилась бы за 10 000. Но увы, iRporp+ нельзя использовать для Стохастического Градиентного спуска, т.е разрешается корректировать только когда все примеры были прогнанны через forward_pass

    • @spawn1411
      @spawn1411 5 років тому

      Igor Aherne а что, если постепенно уменьшать learning_rate, тем самым экспоненциально настраивать нашу сеть? к примеру "грубо" настроить за небольшое количество итераций для начала, а уже после этого сохраненную сеть настраивать более "тонко" ?

  • @user-fu4lq3bu8c
    @user-fu4lq3bu8c 6 років тому

    Если я правильно помню, тот же Ng постоянно говорит, что корректировка весов должна производится одновременно. То есть скорректировать веса мы можем только после того, как посчитаем все ошибки. Иначе у нас на коррекцию предыдущего скрытого слоя появлияет коррекция текущего, хотя ошибка была получена при нескорректированном весе.

  • @irinaira7127
    @irinaira7127 7 років тому +1

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

    • @IgorAherne
      @IgorAherne 6 років тому +1

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