Во первых, большое спасибо за урок! Так же хотел сказать что при использовании Embedding слоя мы экономим место для обучающей выборки, но при этом целевые значения делаем one-hot-векторами , тоесть наоборот начинаем тратить больше памяти. Почему бы просто не сделать не сложную функцию, которая преобразовывала число в one-hot-верктор непосредственно перед передачей в нейронку, а до передачи, в самой обучающей выборке оно хранилось бы в виде числа, таким образом мы решили бы все проблемы.
@selfedu_rus20 күн бұрын
Спасибо! Все верно!
@_sort_ Жыл бұрын
Спасибо огромное за материал. Действительно хорошо помогает разобраться в теме. Из сухих статей и документации разобраться куда сложнее. У меня получилось улучшить данную модель путем увеличения контекста (то есть просто inp_words). И модель стала более осмысленно предсказывать слова, но в конце все равно бред начинается :). Очень интересная тема.
@kiber75754 ай бұрын
как всегда Перфекто
@Quimorax4 жыл бұрын
Довольно сложная информация в видео, но очень интересная!
@selfedu_rus4 жыл бұрын
Это я ее еще предельно упростил, насколько смог )
@tsoer29764 жыл бұрын
Хотелось бы услышать от Вас word2vec метод
@простоМалышОва4 жыл бұрын
Super video
@mielierz2 жыл бұрын
Как токенайзеру указать несколько разделителей?
@Дизельэлектроника2 жыл бұрын
Здравствуйте уважаемый автор видео , благодарю вас за ваши уроки , информация которую вы даете по нейронным сетям очень ценная ! В ваших уроках вы говорите что чем больше словарь для обучения тем лучше! Я для рекуррентной нейронной сети создал словарь около 200 тыс. слов и сразу столкнулся с ошибкой что невозможно выделить такое количество памяти ( в информации об ошибке конкретная цифра) для массива с формой (191548, 200000) и типом данных float32, пришлось в двое уменьшать словарь что бы нейронная сеть начала обучатся, и это с использованием embedding слоя, в итоге когда мы набираем словарь мы ждем что из нашей Н.С. получиться профессор русского языка и литературы а получаем Эллочку Людоедову, есть ли какая-то возможность исправить эту проблему и сделать так что б из за большого словаря не возникала ошибка?
@selfedu_rus2 жыл бұрын
Конечно! Никто такие большие выборки в памяти не хранит. Вам нужно посмотреть в сторону функций-генераторов, которые выдают порции данных для обучения, а не формировать тензор со всей информацией сразу.
@Responsible_Show-off10 ай бұрын
8:44 у меня ваш алгоритм в моменте компиляции слов на строке 49 ~ inp = x.reshape(1, inp_words, maxWordsCount) Выдает ошибку ~ ValueError: cannot reshape array of size 0 into shape (1,3,1000) При том всегда, и найти в чем причина я не могу, видимо одно из обновлений питона сделало такой формат изменения массивов невозможным, или я не знаю в чем причина... Потому что в конце концов не поняв почему написанный мной не сработал, я скопировал ваш с гита и все равно та же ошибка
@selfedu_rus10 ай бұрын
там версии пакетов поменялись, возможно, из-за этого
@Responsible_Show-off10 ай бұрын
@@selfedu_rus Да, например керас обновился, Tokenizer а более не существует, там теперь другая модель
@user-oz9rf6fm1w3 жыл бұрын
Интересно, почему в таких сетях выделяют столько лишней памяти🤔 А если бы словарь состоял из 100000 слов, это 1 и 99999 нулей, логичнее было бы просто подавать 1 на номер соответствующего номеру слова узла, а остальные ставить по умолчанию 0, получается, нам нужно передать одно булевое значение на 1 узел🤔 Оказывается во 2 части видео про это говорится) Спасибо за еще один отлично поданный материал
@dzakarath Жыл бұрын
даже нейронная сеть пытается наполнить позитивом пессимистиную жизнь
@dubinin_s4 жыл бұрын
Какой-то грустный текст для обучения, может быть по этому сеть не захотела нормально обучатся)))
@selfedu_rus4 жыл бұрын
Ну какой под руку попал )) А качество здесь определенно из-за малого объема выборки, нужно несколько тысяч!
@franzditr65124 жыл бұрын
))) нейросеть оптимист😃
@ЛёшаШатурный4 жыл бұрын
@@selfedu_rus Спасибо за видео, а как Embedding слой работает с несколькими входными векторами(словами)? У меня есть догадка. Мы должны подать 1 на все 3 нужных нейрона. Вы показали пример его работы с частицей не, а у нас на вход подаётся 3 слова, а не одно.
@selfedu_rus4 жыл бұрын
@@ЛёшаШатурный не совсем понятно, три слова сразу или рекуррентно? Если сразу, значит, будет словарь, где каждой комбинации из трех слов соответствует число, а если последовательно, то это как раз и показано в видео
@dota2_bluelock2 жыл бұрын
А почему вы выбрали вторым параметром на слое Embedding 256, если на следующем слое 128 нейронов?
@selfedu_rus2 жыл бұрын
С потолка - это пример не более. С архитектурой надо играться и подбирать.
@МаратФаизов-б9т7 ай бұрын
дОБРЫЙ ДЕНЬ, ДАЙТЕ КОД КАК ИСПОЛЬЗОВАТЬ ДРУГОЙ ТЕКТС ПОТОМУ ЧТО НЕ ПОЛУЧАЕТСЯ ПОВТОРИТЬ ВАШУ РАБОТУ.
@serialdesignationn60194 жыл бұрын
Nice vidio
@VenatoresnamIgnotis3 жыл бұрын
Почему-то при добавлении дополнительного рекуррентного слоя выдает ошибку несовместимости слоев
@selfedu_rus3 жыл бұрын
входной тензор на второй слой не соответсвует, нужно прописать у предыдущего слоя параметр return_sequences=True. Подробнее здесь proproprogs.ru/neural_network/kak-rabotayut-rnn-glubokie-rekurrentnye-neyroseti
@VenatoresnamIgnotis3 жыл бұрын
@@selfedu_rus это тема следующего урока оказывается) Сейчас переварю этот и начну следующий)
@dmitrymitrofanov39204 жыл бұрын
позитив добавляет годы свои вашей жизни раза к вашему огромные искорку в только глазах природные за важны но вы можете многого достичь и
@valeraplishkin2 жыл бұрын
а где скачать text
@Armkeyter3 жыл бұрын
Подскажите, у меня вышла ошибка: cannot reshape array of size 0 into shape (1,3,1000) В вашем коде на github (lesson 21. RNN words predict.py) такая же ошибка, вы не знаете с чем это может быть связано?
@selfedu_rus3 жыл бұрын
Проверил, все работает, вот ссылка на colab: colab.research.google.com/drive/1GT7hd04TGhIm_YTjFiRfzy2URnanSmAg
@selfedu_rus3 жыл бұрын
Файл text тоже с гитхаба брал
@Armkeyter3 жыл бұрын
@@selfedu_rus Только он закрыт)
@selfedu_rus3 жыл бұрын
@@Armkeyter Ну вроде сейчас должно colab.research.google.com/drive/1GT7hd04TGhIm_YTjFiRfzy2URnanSmAg?usp=sharing
@Armkeyter3 жыл бұрын
@@selfedu_rus Спасибо большое, все работает)
@waldemar_72102 жыл бұрын
Пишет ошибку cannot reshape array of size 0 into shape (1,3,1000). Покопался, скорее всего что-то работает неправильно в функции buildPhrase в строчке data = tokenizer.texts_to_sequences([texts])[0]. После этой строчки проверяю (пишу print(data)) и мне выдает пустую коллекцию [ ]. Поэтому в цикле to_categorical выдает размер коллекции (0, 1000), и поэтому нельзя поменять размер с (0, 1000) на (1,3,1000). Что делать? И зачем пишем data[0]
@Danyaaaa20772 жыл бұрын
В функции buildPhrase после строки 'res = texts' (то есть после 45 строки, если ориентироваться по гит хабу) напишите строку 'tokenizer.fit_on_texts([texts])', это решит проблему А data[0] мы пишем, так как после метода 'tokenizer' в строке 'data = tokenizer.texts_to_sequences([texts])' мы получаем двумерный список (условно: [[1, 2, 3]]) и чтобы 'вытащить' одномерный список [1, 2, 3], который мы затем передадим в функцию to_categorical, мы индексируем двумерный список data как data[0], потому что у списка [1, 2, 3] индекс 0. Короче) data[0] = [1, 2, 3]; (числа 1, 2, 3 взяты для примера)
@NavAlextv3 жыл бұрын
Друзья, а не подскажете, где можно взять текстовый файл для обучения? Что-то не увидел(((
@selfedu_rus3 жыл бұрын
Только на сайте: proproprogs.ru/neural_network
@avemaria6854Ай бұрын
сегодня вы какой-то грустный((
@franzditr65124 жыл бұрын
Прогноз цены акций надо сделать или доллара к рублю, практическое применение будетЬ)))
@selfedu_rus4 жыл бұрын
была такая мысль ) как вариант в одном из будущих занятий рассмотрю задачу регрессии на основе рекуррентных сетей
@barryalen5294 жыл бұрын
@@selfedu_rus Здравствуйте. Не могли бы вы привести пример структуры данных, которую мы получаем после выхода рекурентного слоя, просто ни как не могу понять что поступает на последний полносвязанный слой. Спасибо
@selfedu_rus4 жыл бұрын
@@barryalen529 просто тензор, размерностью вектора на батч (если many-ti-one)
Я не совсем понял. Число выходов на embedding слое 256, а число входов на первом внутреннем слое меньше. По видео так и не стало понятно что это за такое волшебное число ставиться на место 256 и почему оно может быть произвольным. Казалось что число выходов должно быть = числу нейронов на первом внутреннем.
@talkingbirb28084 ай бұрын
в нейронных сетях кол-во нейронов в слоях может различаться. Например, вы же не задавались вопросом, почему на внутреннем слое 128 нейронов, а на выходе у нас вектор длиной maxWordCount, да? Т.е. на выходе embedding мы имеет 256 нейронов, которые соединены со 128 нейронами внутреннего слоя с помощью весов. Типа есть веса W с индексами 1,1; 1,2; .... 1, 128; 2,1;...2,128;....256,1;... 256, 128
@sovransky2 жыл бұрын
я не могу с этим ничего поделать как бы я не старался от судьбы не уйдешь мне не повезло родиться в бедной семье
@dmitrymitrofanov39204 жыл бұрын
позитив добавляет годы татьяна но панталоны фрак жилет всех маленьких ее совета девицу повезли к ней ныла в лете не правда ль я модный свет решил что для прихоти сморкаться кашлять и юный ум свободен вновь одет все перевелось корсет альбом княжну алину стишков чувствительных правда ль я модный свет решил что для прихоти сморкаться кашлять и юный ум свободен вновь одет все Александр Пушкин - Евгений Онегин:
@ЕвгенийСотников-щ9д3 жыл бұрын
Пушкин, Татьяна, ... панталоны ... нейронка умнее, чем нам кажется.
@ПавелПетров-й6ш3 жыл бұрын
Автор все видео: "позитив добавляет годы"... Ээм... А дальше абракадабра. Я: КОНЕЧНО АБРАКАДАБРА, МОЖЕТ ТЫ ЕЩЕ МЕНЬШЕ СЛОВ СДЕЛАЕШЬ И ПРОБЕЛЫ СТАВИТЬ НЕ БУДЕШЬ?! Агрх!! Нейросети не достаточно данных, для построения осмысленных предложений. Кроме слов, нужны еще и знаки препинания. Хотя даже с неверными формами слов и без знаков, можно как-нибудь понять, что тебе "сказала" нейросеть. Большинство вариантов ответов, которые я получил и/или увидел в видео, имеют здравый смысл(ну или приближенный), если хотя бы поставить знаки препинания. Upd: Прочитав несколько комментов, понял, что про это уже сказали. Сори за Caps... и агресию. Сложный день...
@randan77733 ай бұрын
Это нейросеть озвучивает?
@Responsible_Show-off10 ай бұрын
Ну что ж, ваш алгоритм на textvectorization успешно проглотил войну и мир, и выдал это: Позитив добавляет годы и в дом и не отвечая ей отперла дверь и вошла скверно в моем доме любовникам девчонка бывал то что и мучило его и причиной его волнения был курагин за которым он сказал он по французски анатоль оглянулся на сестру и покорно встал готовый следовать за пьером пьер взяв его за руку и подставляя ему для поцелуя щеку с поднялись и другие княжна марья сидя в гостиной и слушая эти толки и пересуды стариков ничего не понимала сказала наташа что он не может быть и женой вс это ей казалось что вс это было дико и удивительно ей она не. Вроде смысл сохранить как то пытается.