Как рекуррентная нейронная сеть прогнозирует символы | #20 нейросети на Python

  Рет қаралды 25,371

selfedu

selfedu

Күн бұрын

Пікірлер: 53
@linecodelinecode8261
@linecodelinecode8261 4 жыл бұрын
не думал, что когда нибудь это скажу.....но, Браво!!!! отличное подача материала, хорошее построение нс, а главное понимание того,что делаете....Браво!!!!
@selfedu_rus
@selfedu_rus 4 жыл бұрын
Спасибо! ))
@alicenNorwood
@alicenNorwood 3 жыл бұрын
утренние мысли в понедельник подняться это твой ятосте !
@СергейЮров-б6е
@СергейЮров-б6е Жыл бұрын
Круто! У меня при первой попытке сеть угадала слово в слово. А потом уже пошло свободное творчество. Но для такой простой сети это правда очень крутой результат! Я удивлен)
@igorvozjen9170
@igorvozjen9170 3 жыл бұрын
Да, неожиданно хороший результат, спасибо за видео
@alexandersavitski2831
@alexandersavitski2831 2 жыл бұрын
Автор зайка, просто лучший курс по нс
@maksymburakovml6567
@maksymburakovml6567 4 жыл бұрын
Спасибо большое
@dubinin_s
@dubinin_s 4 жыл бұрын
Спасибо за видео. У Вас в коде inp_chars = 6, а в комментариях Вы говорите по трем символам предсказываем четвертый, я же правильно понимаю, что все же по шести символам предсказываем седьмой? И еще вопрос. Я не понял как сеть поняла какой длинной должна быть спрогнозированная фраза?
@selfedu_rus
@selfedu_rus 4 жыл бұрын
Да, совершенно верно, по переменной inp_chars определяем число предыдущих символов, по которым строим прогноз. Далее, сеть рекуррентно (по порядку) прогоняет эти символы через себя и на выходе формирует один прогнозируемый символ, т.е. она формирует только один прогноз. Если хотим построить несколько прогонозов, то опять нужно взять inp_chars предыдущих символов для прогнозирования очередного. И так далее.
@Дизельэлектроника
@Дизельэлектроника Жыл бұрын
Здравствуйте и большое спасибо за ваши уроки. Напишите пожалуйста а как в этом уроке можно увидеть когда наступает переобучение нейронной сети, ведь выборки валидации у нас нет и соответственно val_loss у нас не показывается? П.С. Повторил вашу Н.С. по прогнозированию следующего слова, только я сделал больше количество предложений и соответственно увеличилось количество слов, и теперь меня мучает вопрос как проконтролировать что б Н.С. не переобучалась.(Просто 'Validation split= 0.2' добавить?)
@boost_456
@boost_456 9 ай бұрын
Подскажите, пожалуйста. Вы в одном уроке разбиваете текст на буквы, в другом - на слова. Но я слышал что наиболее эффективным является разбиение на токены, то есть части слов. Правда ли это и как разбить текст но токены с помощью Tokenizer?
@VenatoresnamIgnotis
@VenatoresnamIgnotis 3 жыл бұрын
Отличное видео, здесь понятно, как формируется выходной вектор, размерность входного соответствует выходному . А как задается соответствие если например нам нужно разделить два класса: мужчин и женщин? На вход мы подаем фотографию размера N x N например и соответственно выходов сети у нас будет N x N, а выхода всего два, и как понять что при максимальном значении на первом выходном нейроне будет определяться класс мужчин, а на втором - женщин, а не наоборот? Это вопрос скорее не по этому видео, а в общем. Правильно ли я понимаю, что для этого когда мы формируем обучающую последовательность данных, в качестве ответной реакции на фотографию мужчины мы должны создать вектор [1, 0] если хотим, чтобы реакция на мужчину была на первом нейроне?
@osvab000
@osvab000 2 жыл бұрын
Лайк, а в каком формате обучающая выборка. Делаю на colab, выдает ошибку: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte
@selfedu_rus
@selfedu_rus 2 жыл бұрын
вроде, я все в utf8 делал, но, как вариант может windows-1251
@gdarkestx4708
@gdarkestx4708 4 жыл бұрын
Very nice!
@Sergey-cz7ym
@Sergey-cz7ym Жыл бұрын
для чего мы удаляли первый пустой символ и знаки препинания? с ними тоже все нормально работает. А если добавить количесво нейронов и количество эпох то вообще сказка получается, совсем чуток не хватет что бы можно было поболтать с НС :). только не понятно почему так долго подбирается следующий символ, казалось это должно происходить быстро, но если поставить длинну ответа в 300 символов например то ждать надо довольно долго.
@Ярослав-е4й9щ
@Ярослав-е4й9щ Жыл бұрын
Здравствуйте, отличный урок! Скажите, пожалуйста, где можно найти файл с обучающей выборкой?
@user-mu5cj4hv9l
@user-mu5cj4hv9l Жыл бұрын
Здравствуй, да вроде в начале он сказал, что это обычный текст, может говорил откуда, из книги, стиха и тд. Точнее там были короткие высказывания. Думаю, будет не сложно найти, я пока сейчас не собираюсь делать программу, а чуть попозже. Могу скинуть тебе, напиши как с тобой связаться или просто тут ссылку могу оставить.
@Ярослав-е4й9щ
@Ярослав-е4й9щ Жыл бұрын
@@user-mu5cj4hv9l Доброго времени суток, спасибо большое за ответ! Я уже разобрался, файл находится на сайте(ссылка в описании, где lesson 21) в самом низу
@ИванГусаров-ж8ю
@ИванГусаров-ж8ю 16 күн бұрын
​@@Ярослав-е4й9щДобрый день, а вы бы не могли скинуть данный сайт. У меня почему то ютуб не разворачивает полностью ссылку, оставляя её обрезанной. Спасибо
@abenderbey
@abenderbey 4 жыл бұрын
У меня идея! Надо обучить ее на тексте гороскопа и печатать предсказания!
@selfedu_rus
@selfedu_rus 4 жыл бұрын
Хорошая идея )) Только лучше здесь использовать анализ текста по словам + генерация выходного текста (также по словам или выбирать заранее заданные варианты).
@abenderbey
@abenderbey 4 жыл бұрын
@@selfedu_rus Оказывается уже есть реализации, причем на русском языке, на книгах Пелевина. Поржал от души когда почитал)
@lubal304
@lubal304 3 жыл бұрын
@@selfedu_rus Привет. Я изучаю именно RNN, остальные нейросети усвоила по туториалам на других каналах. Ищя видео про RNN, я случайно набрела на твой канал, и хочу выразить тебе огромную благодарность. Ты делаешь великое дело) Но у меня есть вопросик. 11:25 Ты используешь many to one, тогда почему у тебя на выходе RNN слоя 3 нейрона? Должен же быть один.
@selfedu_rus
@selfedu_rus 3 жыл бұрын
@@lubal304 Спасибо. На рисунке вычислительный граф представлен - это не три слоя нейронов, а один рекуррентный развернутый во времени :)
@darkwingduck3152
@darkwingduck3152 3 жыл бұрын
*Раскрыл бизнес всех астрологов*
@dmitrymitrofanov3920
@dmitrymitrofanov3920 4 жыл бұрын
super!!!!!
@yanavin2964
@yanavin2964 Жыл бұрын
я начал учить питон чтобы потом перейти на нейронку или ИИ скажите плз будет ли это актуально через 5-10 лет и какие перспективы у всего этого что можно будет делать с помощью этого?
@selfedu_rus
@selfedu_rus Жыл бұрын
Думаю через 5-10 лет все еще актуально будет, но это мое личное мнение
@densaface
@densaface 2 жыл бұрын
Пробел, я так понимаю, потому не поставлен перед если, потому что перед ним всегда запятая, а она удалена из выборки
@DeadManntrolling
@DeadManntrolling 2 жыл бұрын
Запятая удалена, но пробел между словами остаётся, поэтому нет
@franzditr6512
@franzditr6512 4 жыл бұрын
))) научите ее в футбол играть, забавно было бы посмотреть.
@selfedu_rus
@selfedu_rus 4 жыл бұрын
Это уже другая технология - обучение с подкреплением )
@mielierz
@mielierz 2 жыл бұрын
А что за первый невидимый символ '\ufeff'?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
появляется при кодировке UTF-8
@mielierz
@mielierz 2 жыл бұрын
@@selfedu_rus как я могу проверить его наличие?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
@@mielierz if str[i] == '\ufeff'
@phizruk_2730
@phizruk_2730 Жыл бұрын
Был бы гитхаб 👉👈
@fewra600
@fewra600 2 жыл бұрын
У меня почему-то tokenizer букву ё не определяет
@selfedu_rus
@selfedu_rus 2 жыл бұрын
да, ее отдельно надо прописать в фильтре
@Kopasuy
@Kopasuy 8 ай бұрын
Хотел сделать токенайзер 256 скалярных значений, он жрет 2 гига оперативы
@mikhalpalych
@mikhalpalych 3 жыл бұрын
Хочу добавить, что токенайзер раздает индексы символам по частоте их встречаемости в тексте
@mikhalpalych
@mikhalpalych 3 жыл бұрын
А, полную хрень написал, неважно, но короче, значение у каждого ключа(символа, в нашем случае) - это частота появления этого ключа. 6 утра, чета поплыл, просто. Прошу прощения, если это имелось ввиду в ролике, мозг с трудом переваривает информацию
@mikhalpalych
@mikhalpalych 3 жыл бұрын
И еще, можете, пожалуйста, объяснить, что происходит в этой строчке: X = np.array( [data [i:i + inp_chars, : ] for i in range(n)] ) Не понимаю синтаксис в квадратных скобках, где срез в конце, то что [i:i+inp_chars, :]
@selfedu_rus
@selfedu_rus 3 жыл бұрын
@@mikhalpalych здесь выделяются One-Hot векторы последних inp_chars символов в диапазоне [i; i+inp_chars)
@ПавлоКабай
@ПавлоКабай 3 жыл бұрын
утреннртентелинеи,в ензн внткео ет н вна ео првнеоею ен / вот получ результат при вероятности 90 проц.Где здесь смисл,
@DubrovinAlexander
@DubrovinAlexander 2 жыл бұрын
У меня тоже результат плохой
@JugaBugaS23
@JugaBugaS23 Ай бұрын
сделай обучающую выборку больше
@alexdaniel76
@alexdaniel76 2 ай бұрын
Так работает "Т9" ? 😀
@noviebelki
@noviebelki 2 ай бұрын
Почти. Он прогнозирует не букву, а слово
Бенчик, пора купаться! 🛁 #бенчик #арти #симбочка
00:34
Симбочка Пимпочка
Рет қаралды 3,8 МЛН
버블티로 부자 구별하는법4
00:11
진영민yeongmin
Рет қаралды 26 МЛН
Лекция. Рекуррентная нейронная сеть
16:54
Deep Learning School
Рет қаралды 19 М.
Нормализация данных для Нейросети
32:18
Изучаем мир ИТ / Олег Шпагин / Программирование
Рет қаралды 4,7 М.
Бенчик, пора купаться! 🛁 #бенчик #арти #симбочка
00:34
Симбочка Пимпочка
Рет қаралды 3,8 МЛН