Comments 3
Спасибо за статью, тема нужная, но, к сожалению, я ничего не понял. Нет связи формул с обычной подачей материала про машинное обучение, нет примеров и пояснений что есть что. Я вот знаю архитектуру вариационного автоэнкодера, ну типа две нейросети и распределение p(z) посередине. А что есть что в формулах? У вас вводится p(x), q(x), p(x/z), фи(z/x) и нигде не сказано, что вот это вот и апроксимирует кодировщик автоэнкодера, а то вот это аппроксимирует декодер, а вот это вот наша лосс функция.
Я вот даже не понял отсылки к тому, что автоэнкодер генерирует смазанные картинки. В курсах по машинному обучению учат, что это происходит из-за лосса попиксельной близости, где декодер генерирует некое усредненное изображение, которое пытается одновременно удовлетворять всем примерам обучающей выборки. Но как эту интуицию увидеть в «бедности семейства фи(z/x)» я не понял.
Наверное, математические статьи не для меня, но, думаю, я не один здесь такой. Просьба объяснять чуть более «на пальцах», если можно, с примерами.
Я вот даже не понял отсылки к тому, что автоэнкодер генерирует смазанные картинки. В курсах по машинному обучению учат, что это происходит из-за лосса попиксельной близости, где декодер генерирует некое усредненное изображение, которое пытается одновременно удовлетворять всем примерам обучающей выборки. Но как эту интуицию увидеть в «бедности семейства фи(z/x)» я не понял.
Наверное, математические статьи не для меня, но, думаю, я не один здесь такой. Просьба объяснять чуть более «на пальцах», если можно, с примерами.
Могли бы вы пояснить вот этот переход?
«Но во-первых заметим что выражение под логарифмом не зависит от z, значит можно взять математическое ожидание от логарифма по z от любого распределения и это не изменит значения функции и под знаком логарифма умножить и поделить на это же распределение».
И само q(z), и произведение q(z)*q(x|z), оба зависят от z, поэтому как вы их поставили под интеграл по dz — неясно.
Еще небольшая просьба по оформлению. Там в получившемся интеграле не хватает dz и, что хуже, без скобок вокруг подынтегрального выражения складывается ощущение, что это не двойной интеграл, а произведение одинарных.
«Но во-первых заметим что выражение под логарифмом не зависит от z, значит можно взять математическое ожидание от логарифма по z от любого распределения и это не изменит значения функции и под знаком логарифма умножить и поделить на это же распределение».
И само q(z), и произведение q(z)*q(x|z), оба зависят от z, поэтому как вы их поставили под интеграл по dz — неясно.
Еще небольшая просьба по оформлению. Там в получившемся интеграле не хватает dz и, что хуже, без скобок вокруг подынтегрального выражения складывается ощущение, что это не двойной интеграл, а произведение одинарных.
Могли бы вы пояснить вот этот переход?
«Но во-первых заметим что выражение под логарифмом не зависит от z, значит можно взять математическое ожидание от логарифма по z от любого распределения и это не изменит значения функции и под знаком логарифма умножить и поделить на это же распределение».
И само q(z), и произведение q(z)*q(x|z), оба зависят от z, поэтому как вы их поставили под интеграл по dz — неясно.
Все очень просто: под логарифмом стоит p(x), который не зависит от z. Но вводя латентную переменную z мы можем написать p(x) = q(z)*q(z|x) / q(x|z). Очевидно, что хотя z и есть в выражении, но выражение от z не зависит.
Еще небольшая просьба по оформлению. Там в получившемся интеграле не хватает dz и, что хуже, без скобок вокруг подынтегрального выражения складывается ощущение, что это не двойной интеграл, а произведение одинарных.
В общем то это стандартная нотация. К ней необходимо немного привыкнуть, тогда читается без проблем.
Sign up to leave a comment.
Variational Inference — что это такое и с чем это едят?