Нейросети vs вычисления на глазок

    Сегодня я узнал, что люди могут на глаз прикидывать ранг матрицы!
    (напомню, ранг — это количество линейно независимых строк или столбцов)


    image


    Типа, вот смотрят на вот это и говорят, что ранг —


    ну! ну!

    3


    Как же устоять и не попробовать обучить это делать нейросеть, подумали укурки cтуденты из Carnegie Mellon?


    То есть, вот взять матрицу, перевести в такую картинку и дать на вход CNN, чтобы она предсказывала ранг или является ли матрица вырожденной.


    image


    Смотреть на болд. Вот оно, будущее оптимизации алгоритмов.


    Статья здесь и в ней великолепны и слог, и поднимаемые вопросы, и список авторов, и вообще все.


    Например, дальше они этот же подход применяют к умножению матриц и нахождению обратной:


    We then use this data to train the network with
    stochastic gradient descent on a mean square error
    (MSE) loss for 100 epochs. Some qualitative predictions
    on unseen data are shown in Figures 7 and 8.
    We found the multiplication task to be easily solved
    by our network architecture, but the inversion task
    proved much more challenging, as shown by the
    higher MSE values. We note that this is analogous to
    humans taking Linear Algebra 101
    .

    Ржу нимагу.
    На сладкое — слайды.

    Share post

    Similar posts

    Comments 11

      0
      Ну не знаю, видимо на картинке люди закодировали ранг матрицы по количество разных цветов в строке, такое ощущение. То есть выбрать строки с максимумом различных элементов. Я почему-то глянул на столбцы и сказал что ранг 6 или 7

      Вопрос — как это добро кодировать. Видимо, одинаковые число надо кодировать одинаковым цветом. Причем близкие числа нужно кодировать цветом поближе.

      Проблем у существующего подхода два:
      1. Это быстрая оценка, но хорошая идея.
      2. Какова вычислительная сложность калибровки цветов? Такие дела, если маленькая то годидзе, если нет — то негодидзе, быстрее будет так ранг посчитать.

      В принципе задача найти ранг приблизительно хорошая, например для разложений матрицы на подматрицы. Крайне душеполезно и все такое но надо поподробнее написать, а то карнеги мелон марнеги мелон
        0
        Они кодируют совершенно стандартными color maps, которые буквально один лукап на число. Выбрать строки с максимумом элементов разных цветов — имеет далекое отношение к рангу, или вы в смысле что у их генерации может быть такой артефакт?

        Практическое применение очень спорно, точность совсем не та. Но я в некотором смысле в шоке что оно вообще что-то находит.

        Про подробнее — я не очень понял, что подробнее-то расписать :)
          0
          была матрица с рангом 2: A =
          1 1 2
          2 1 2
          3 2 4

          Поменяли вторую 1 на 0.999 и ранк уже 3, а близость к цвету хорошая
            0
            Все так, на такой матрице алгоритм ошибется. Однако если сгенерировать много матриц разных рангов, угадывает все равно сильно лучше рандома.
          0
          Надо прикинуть максимальное количество непохожих (по колебанию тонов) строк (или столбцов).
          При этом соответствие чисел цветам не существенно и не требует калибровок.
          (Разве что можно подобрать цвета, которые максимально различается глазом по оттенкам)
          +3
          Судя по коментариям статью принимают всерьез!
            0
            Почему нет — все результаты реальные :)
            +1
            Те, кому приходится по душе такой юмор, могут почитать proceedings ежегодной конференции SIGBOVIK. Доклад про ранги матриц как раз оттуда (сборник за 2015 годl).
              +1
              Запостите, что ли, какие-то особо адовые работы?
              +4
              Идея для приложения: чтоб узнать, готовы ли пельмени, фоткаешь их и нейронная сеть основываясь на миллионе фоток готовых пельменей, отвечает
                0
                Да! Больше нейросетей! Возможно, правда, придется по видео со звуком!

              Only users with full accounts can post comments. Log in, please.