Был поздний вечер. Ужасно болела голова, простуда не давала нормально дышать, а градусник упрямо полз вверх. Что можно делать в таком состоянии, когда кажется, что сама Смерть уже натирает лыжи где-то рядом?
Казалось бы, ничего значимого. Поэтому я просто решил разобрать груду скопившихся на столе бумаг - надо же иногда наводить порядок. И тут взгляд зацепился за старую тетрадь торчавшую из-за шкафа.
Я аккуратно развернул ее, и взгляд зацепился за старый рисунок, который был сделан немногим позже ухода NVIDIA из России, где я работал ведущим инженером и в основном занимался написанием фреймворка для нейросетей, но уезжать не стал. А рисунок набросал, размышляя о том, как бы заполучить заветные ядра свертки без китайских теорем, универсально, для абсолютно любой формы ядра, включая те, которые не решаются аналитически.
Идея была простой: почему бы матрицы Винограда не получить методом градиентного спуска?