Комментарии 12
Я давно занимаюсь нейросетями, но вот прямо с первого абзаца - абстрагируясь от этого знания, понимаю лишь одно, что читаю очередную статью очередного математика, в которой ничего не понятно, потому что математики наверное не умеют писать статьи.
Что за Т, почему он и вектор и показатель, где на картинке Z.... а дальше просто можно не читать.
Просчитался... Но где?
Там, где T в качестве показателя - это не показатель, а обозначение матричной операции под названием "транспонирование". Я просто даже не подумал, что у кого-то может возникнуть такой вопрос (просто если вы знакомы с матричными операциями, то как вы могли подумать про то, что вектор возводится в степень вектора, это вообще как?).
На картинке изображена общая архитектура, обычно переменную Z не обозначают, так как подразумевается, что нейрон сразу выводит значение, которое было обработано нелинейно. Плюс ко всему, в статье и так слишком много фактов, я просто физически не могу продумать все факты за один раз. Я вообще в первый раз слышу о том, чтобы кто-то возводил вектор в степень вектора.
Тем более, если вы занимаетесь нейросетями, то должны знать про различия между целевыми значениями (targets) и операцией транспонирования. Кроме того, я специально сделал ручной расчет, чтобы все было наглядно и понятно. Еще в самом начале я написал содержание, из которого следует, что, если вы что-то не поняли в обозначениях, то нужно посмотреть на ручной расчет и убедиться, что я не возвожу вектор в степень вектора.
Давно хотел спросить, а зачем это Т во все книги пихают, почему сразу не записать вертикально? Это просто чтобы вектор горизонтально написать?
Это нужно для того, чтобы матрично умножать каждую строку матрицы на вектор-столбец, получается скалярное произведение вектора-строки на вектор-столбец. Так запись удобнее, если везде писать вектор как столбец, то будет много места занимать. А в программировании, если не транспонировать, то выйдет ошибка, что неправильная форма матрицы. В статье в реализации я просто использую список чисел, но во фреймворках и в numpy векторы представляются в виде двумерного массива или матрицы векторов, если не транспонировать, то алгоритм по матричному умножению не сможет работать, так как индексы элементов матриц не смогут быть считаны.
Если вектор X будет горизонтально расположен, то матричное умножение осуществить не получится.
Автор ответил на вопрос, но я резюмирую и отвечу с другой стороны.
Итак: да, всё правильно сказано, Это T пихают ровно затем, чтобы не писать вертикально, как положено, а горизонтально.
Причина проста: внутри текста очень хочется экономить вертикальное расстояние и по максимуму линеаризировать запись. Например,
Дроби стараются писать в строку , а не в два этажа
Индексы в пределах и суммах пишут в нижнем правом индексе, а не внизу:
Это не касается выключных формул, но и в них могут писать так по инерции.
Мне и таким как я это объяснять не нужно, я уже съел свой кактус.
Это нужно писать в статье, ведь очевидно, что она рассчитана на абсолютных новичков, а людям которые уже что-то умеют, он нее проку нет.
Статья на стыке программирования и математики, поэтому (и вообще хороший тон изложения материала) требует разъяснения всех водимых обозначений без пересечений по символике, никаких "обычно" и "по умолчанию", ведь то что по умолчанию программисту, не поймут математики и наоборот.
Да это требует сил, но вы уже потратили добрую половину, так может стоит довести до конца?
я это уже знаю
Объясните пожалуйста кто-нибудь, за что мне поставили отрицательный рейтинг. Может быть я чего-то не понимаю или не знаю
я рейтинги не ставлю, но на первый взгляд это очень неудобно читать и понимать
Если вы уж начали с матриц, то формулы можно так же в виде матриц и писать
Выводы формул и код если они большие лучше убрать в спойлеры, а на виду оставить лишь итог
Это одна из 100 статей, где после слов «реализуем с нуля» не пишут import torch.
Математика тут важная и она достаточно проста, да читать сложно, но дифуры выглядят куда устрашающе) ++rep
p.s. я б еще для приятностей глазу прикрутил тензорборду и всякие графички с распределениями ( tsne в помощь)
Глубокое обучение: Алгоритм обратного распространения ошибки. Теория и реализация. С нуля