Pull to refresh
67
0
Сергей Подлесный @sergeypid

Мышиное обучение

Send message
Вы за 120 мс успеваете просматривать на 6 нодах 300Гб векторов эмбеддинга для поиска? (нет конечно) Поделитесь секретами индексации?
А сколько у вас нодов Cassandra если не секрет?
localStorage располагает как минимум 5 Мб для хранения данных (этот размер поддерживается всеми основными веб-браузерами), что на порядок больше, чем у cookie-файлов (~ 4 Кб)

Занудство: на три порядка больше. Но я восхищаюсь темпами развития технологии, при которых прирост в 10 раз вообще ничего не значит, а переход от килобайтов к мегабайтам — это переход «на порядок». Предлагаю придумать новое русское выражение, которое бы передавало смысл фразы «на порядок больше» при сравнении килобайтов с мегабайтами.
Рынок систем охлаждения для дата-центров значительно перегрет
А что за девайс для считывания ЭЭГ? Где можно купить?
Вот попалась страничка с анонсом релиза (!) пяти статей на эту тему от Убера: eng.uber.com/deep-neuroevolution
Только практика может ответить на этот вопрос. Проверьте свою схему и напишите статью на Архив.
Я бы применял их схему чуть попозже, после первоначального грубого обучения. Например, первые слои уже обучились типовым фильтрам Габора. Но это только мое предположение, все надо проверять. В этом и заключается эмпирический подход.
При «холодном» рестарте коэффициенты сети случайно инициализированы, и их надо долго обучать. При рестарте с локального минимума у нас уже в принципе обученная сеть, дальнейшее обучение будет только слегка изменять значения весов.
Почему у комментаторов сложилось впечатление, что авторы первой статьи плохо обучили baseline?

ResNet-110, Cifar-10
Оригинальная статья авторов архитектуры ResNet
Смотрим таблицу 6: ошибка классификации на CIFAR-10: 6.43 (6.61±0.16)
Статья про «отжиг» (ансамбль снимков модели): Фигура 1.2 — ошибки классификации CIFAR-10
Resnet-110 Single Model: 5.52 (по оригинальной статье)
Resnet-110 Snapshot Ensemble: 5.32

Остальные результаты тоже можно проверить.
Если скорость при тестировании для вас важнее, значит вы успешно внедряете технологию!

Все-таки скорость обучения тоже важна если данных много, GPU не топовый, модель сложная, идей много надо проверить…
Результаты второй статьи и мне показались слабоватыми. Что касается первой, то речь ведь не идет об ускорении обучения как такового. За время обучения одной модели формируют N моделей для ансамбля.
По поводу гуглоперевода, коллега, попросил бы не бросаться обвинениями.
Чтобы дискуссия не была поверхностной, предлагаю простой эксперимент. Запустим скрипт оптимизации, приведенный в статье, для разный уровней сложностей.

Модифицированный код
import numpy as np  
from matplotlib import pyplot as plt
 
def f(w): return -np.sum((w - solution)**2)

npop = 50      # population size  
sigma = 0.1    # noise standard deviation  
alpha = 0.001  # learning rate  
N = 1000        # iterations number
SIZE = 10      # task size (times 3)
w = np.random.randn(SIZE *3) # initial guess  

solution = np.array([0.5, 0.1, -0.3] * SIZE).flatten() 

graph = np.zeros(N)
for i in range(N):  
  N = np.random.randn(npop, SIZE * 3)
  R = np.zeros(npop)
  for j in range(npop):
    w_try = w + sigma*N[j]
    R[j] = f(w_try)
  A = (R - np.mean(R)) / np.std(R)
  w = w + alpha/(npop*sigma) * np.dot(N.T, A)
  graph[i]= f(w)
  
plt.figure()
plt.plot(np.log(-graph))
plt.show()




Уровень сложности задачи определяется только размерностью вектора параметров w. Вот табличка достигнутой погрешности решения и затраченного числа итераций для разного уровня сложности:

Размерность w     Число итераций     Погрешность (f(w))
          3                250            10E-12
         30               1000            10E-7
        300               2500            10E-3
       3000               7000            10E0
      30000              >20000       Не доучилась за полчаса, см. график

По-моему совсем неплохой результат для задачи, которая в принципе никак не ограничена дифференцируемостью функции, числом шагов эмуляции эпизода и т.п. Никаких оптимизаций в коде не проводилось, очевидно что нужно постепенно снижать скорость обучения и т.п.

График обучения при сложности 30:

График обучения при сложности 300:

График обучения при сложности 3000:

График обучения при сложности 30000:

Ну вот Вам понятно, а этим господам непонятно: Andrej Karpathy, Tim Salimans, Jonathan Ho, Peter Chen, Ilya Sutskever, John Schulman, Greg Brockman & Szymon Sidor.

Вы считаете задачу обучить машину играть в игры для Атари имея на входе только скриншоты "совсем несложной системой"? На этой задаче предложенный алгоритм работает наравне с reinforced learning, в каких-то играх побеждает, в других немного отстает.

Роботы пишут обзорные статьи по ИИ.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity