*selfedu* *_нейросети на Python, очень полезно и информативно, самые лучшие видео по нейросетям!_*
@DmitryLukashov-k6e Жыл бұрын
А вообще, это, конечно, лучшее, что я видел из обучающих материалов по нейронным сетям. Спасибо!!!
@mrleggard2 жыл бұрын
Лучший курс по нейронкам, который я когда либо смотрел! Если бы вы добавили практические задания, собрали бы группу студентов и назначили им ментора, который проверял бы домашки - вы бы уделали нос любым платным курсам, по крайней мере с точки зрения качества контента и его усваимости. Божественно из 10!
@user-AndrMaster Жыл бұрын
Полностью согласен!
@alexeysavostin4 жыл бұрын
Отличный материал! Спасибо за труд!
@javadeveloper-o5j3 жыл бұрын
Откуда Вы это все знаете? Спасибо просто реву как все разжевано, наконец-то, а то уже год изучаю нейросети, и по авторам манера такая - много всего по умолчанию не договаривается, а некоторые еще и говорят, что математика не нужна, а нужно знание архитектуры слоев и опыт, у Вас все подробно со ссылками и примерами, смотрю на одном дыхании. Мне может понятно, потому что читала и делала много до Ваших уроков, но пробелов было много. Спасибо за Ваш труд.
@АндрейТаранов-ь8э3 жыл бұрын
ниоткуда. это перевод западных статей.
@Дмитрий-о2л5х3 жыл бұрын
Круто, молодец.
@ИльяЗдобнов-т4н3 жыл бұрын
Отличное видео, спасибо++
@lifeisbeautifu18 ай бұрын
Спасибо!
@GreekkAlex4 жыл бұрын
супер!!!!!!++++++++++++
@cams-online3 жыл бұрын
Попробуйте взять вместо mist, картинки собачек и кошечек и офигеете как все перестает нормально работать, а на мнисте все шоколадно
@selfedu_rus3 жыл бұрын
Тогда и сеть нужно посложнее строить.
@alex-andr-192 жыл бұрын
Народ, только начал изучать тему нейронок, захотел перевести этот CVAE на CIFAR100 куча ошибок возникает. Сильно жалуется на размерность входных данных, вроде установил, что это ргб, то есть везде стоит размерность слоёв (32, 32, 3). Но во время обучения говорит следующее: **Cannot reshape a tensor with 307200 elements to shape [100,1024] (102400 elements) ** 307200 = batch_size * 32*32*3 А откуда берётся требуемое только 1024 в ошибке не понимаю.
@xariab3 жыл бұрын
Зачем передавать метку в Encoder? Не лучше ли только на Decoder? Сети будет "легче" сосредоточиться на контексте... или нет? Надо пробывать.
@selfedu_rus3 жыл бұрын
да, можно попробовать и эту мысль )
@VijitCoder Жыл бұрын
7:21 Как в предыдущем уроке не понял, откуда взят коэффициент -0.5 и почему квадрат дисперсии заменили логoрифмом, так и тут странная логика: добавили в функцию потерь "/2/28/28", но это непринципиально (с). Причем этот делитель уменьшает сумму функций потерь, хотя как-то относится только к одной из них. И вот непонятно, зачем вообще этот делитель и зачем лишние математические действия, если это необязательно выполнять? И кстати, результат такой функции потерь будет заметно отличаться от предыдущего варианта. Как-то это все.. одни вопросы.
@kotikGGG8 ай бұрын
В исходниках, которые на гитхабе нет описания vae_loss()
@ll2pakll3 жыл бұрын
концепция супер, но на данном примере видно, что она работает не очень хорошо. скорее всего это проблема недообученности либо недостатка нейронов скрытого слоя. Релевантным примером в данном случае является отображение тех же цифр, что были поданы на вход энкодера, то есть пятёрок. На выходе декодера они отличаются от входящих данных. Следовательно, если данная нейросеть не может передать стиль одинаковых цифр, то она не сможет его перенести на другие.
@mrleggard2 жыл бұрын
Да, но ведь тут размерность скрытого пространства равна двум. Сделайте больше, и результат должен стать более точным. В целом, интересно поэксперементировать с архитектурами. Думаю, если размер скрытого пространства будет сильно большой, сеть практически идентичные цифры будет штамповать (если поданная на вход и запрошенная у декодера цифра - это одна и та же, имею в виду)
@ravenalbatros2 жыл бұрын
кажется вы удалили функцию потерь в последнем коммите
@maratkh56124 жыл бұрын
ничего не понятно но жутко интересно)
@dubinin_s4 жыл бұрын
Когда вы объясняете приведенный вами пример, то все понятно и вопросов не возникает, но когда видео заканчивается начинаешь задумываться: "А зачем это нужно?"... Можете привести еще пару примеров где это применяется?
@selfedu_rus4 жыл бұрын
Здесь общий посыл такой: с помощью CVAE можно любой входной сигнал превратить в набор признаков вектора скрытого пространства, а затем, их использовать для своих дальнейших целей. Например, это один из подходов анализа видеопотока для дальнейшего принятия решений в управлении беспилотниками на основе меньшей, но концентрированной информации (правда, я точно не знаю применяется ли это в них, но одна из идей таких есть).
@dubinin_s4 жыл бұрын
@@selfedu_rus спасибо за ответ, но честно признаюсь я все равно не понял как это применить))) видать пока что не дорос)))
@selfedu_rus4 жыл бұрын
@@dubinin_s По идее, это было бы понятно, если бы мы рассматривали тему обучение с подкреплением. Там это используется.
@dubinin_s4 жыл бұрын
@@selfedu_rus А у вас будет видео про это?
@selfedu_rus4 жыл бұрын
@@dubinin_s нет, это ооочень большая тема, надо отдохнуть после нейронок ))
@КоляВасильев-о5и3 жыл бұрын
Не совсем понятно на что мы надеемся, когда подаем на вход cvae метку нужной цифры и РАНДОМНЫЙ вектор скрытого состояния. Разве есть гарантии, что этот рандомный вектор скрытого состояния будет совместим с заданной меткой класса и что на выходе мы получим ожидаемый результат? Или тут логика такая: вектор метки состоит из 10 элементов, а вектор скрытого состояния из двух. Т.к вектор скрытого состояния несет в себе меньше информации чем вектор метки, то вектора метки в целом достаточно что бы выяснить какой объект нам нужен, а рандомный вектор скрытого состояния просто вносит некоторую вариантивность в выходной результат. Тут такая идея? Если да, то выходит что вектор скрытого состояния должен быть всегда меньше чем вектор метки?
@selfedu_rus3 жыл бұрын
Вектор скрытого состояния можно выбирать произвольной размерности. Мы обучаем декодер так, чтобы он восстанавливал изображение в соответствии с меткой, не более того. То есть, веса сети подбираются так, что он способен по вектору метки генерировать соответствующее изображение.
@КоляВасильев-о5и3 жыл бұрын
@@selfedu_rus Спасибо за ответ! Если веса подбираются так, что декодер генерирует соответствутющие изображения по меткам, то возникает вопрос, зачем тогда нам нужны векторы скрытого состояния?) Ведь тогда мы можем просто подавать вектор метки на вход декодера но в нашем случае на вход подается не только метка, но и вектор скрытого состояния
@selfedu_rus3 жыл бұрын
@@КоляВасильев-о5и Как вы верно заметили, вектор скрытого состояния создает вариации генерируемых изображений.
@КоляВасильев-о5и3 жыл бұрын
@@selfedu_rus Ясно, спасибо!)
@artnmartnm12893 жыл бұрын
ошибка в строке 69: z_meaner = keras.Model([input_img, lb], z_mean) ValueError: Output tensors of a Functional model must be the output of a TensorFlow `Layer` (thus holding past layer metadata). Found: Tensor("encoder/dense_2/BiasAdd:0", shape=(None, 2), dtype=float32)
@selfedu_rus3 жыл бұрын
у вас z_mean должен быть слоем (так в ошибке написано)
@artnmartnm12893 жыл бұрын
@@selfedu_rus я же пытаюсь ваш код повторить, скопировал с githab как есть, запускаю - выдает ошибку.
@selfedu_rus3 жыл бұрын
@@artnmartnm1289 Да, действительно, видимо версии поменялись пакетов. Поправил, скачивайте, теперь все должно работать. Также там вверху идет ссылка на colab, где точно все запускается. Успехов!