ailev.ru

30 декабря 2015 · Комментарий

Без заголовка

Ох уж этот дилетантизм... Хокинс в OnIntelligence ещё в 2004м году SDR хвалил. А воз и ныне там. Не проблема построить линейное пространство -- мат. аппарат давно изучен, в поисковых движках косинусное расстояние применялось тоже ещё 10 лет назад. Нужно ли именно линейное? Хрен его знает, но мы другое строить не умеем. Как пьяные, ищем ключи под фонарём, потому что в других местах их нет. Иногда даже находим что-то похожее на ключи. Сложные задачи с таким подходом решаются на уровне "система учится: иногда у неё 2+2 равно 6, иногда 179, но мы всё равно рады, а 1+1 у нас всегда получается 2". "А до этого у неё 2+2 было равно -3859.5 и "валенок", и поэтому текущий прогресс вызывает у нас огромный энтузиазм!" Конечно же, большая модель будет работать чуть лучше маленькой -- у неё лучше с запоминанием и выделением более сложных около-линейных закономерностей. Но с большим количеством нелинейностей векторные пространства и нейроны справляются всё равно из рук вон плохо, и практике неважно -- по причине недостаточной мощности или по причине неправильного метода. В NLP эта проблема заметна особенно сильно. Модели Word vectors DR и Character DR помогли сгладить нелинейность пространства слов, модель LSTM как современная замена HMM помогла немного сгладить нелинейность предложений. Но мощность моделей всё ещё недостаточна для хороших результатов, поэтому радуются детским шагам и редким проблескам чего-то похожего на интеллект. И эта ситуация не изменится методом грубой силы в ближайшие 10 лет, одна надежда на появление более совершенных методов борьбы с нелинейностями. Со звуком -- могут дойти до человеческого уровня, там мощность задачи маленькая. С изображениями тоже всё хорошо -- там линейность очень большая, вся компьютерная графика на линейных преобразованиях построены, просто модель объёмная -- но этот вопрос легко решается увеличением мощности текущей системы на 1-2 порядка. А вот у текста -- нелинейностей намного больше, в текущих моделях даже тысячная часть имеющихся нелинейностей не уместится. Ну а backpropagation, как вы помните, основан на производных и гладкости ландшафта. Так что удивлять может лишь то, насколько далеко они зашли с помощью линейных методов и подобных маломощных моделей. Кстати, если мне не лень будет, сделаю сравнение точности классической табличной морфологии (когда для каждого слова нормальная форма хранится в массиве) и нейросетевой модели морфологии. Cho упоминает как раз о том, что даже морфология слов имеет некоторые нелинейности (на примере quit, quite, quiet). Вот и посмотрим, сколько нелинейностей нейросеть сможет правильно усвоить -- я ожидаю точность порядка 97-99% на всём корпусе, т.е. на 1-3% хуже классической модели, используемой много веков. Такой вот отрицательный прогресс... >Отдельно замечание Осману: я хотел написать Cho письмо, не занимается ли уже кто переводом между языками программирования (напомню, что по-английски там слово используется одно и то же -- translation). При этом ведь тоже должно появиться "общее language-agnostic пространство значений" и все рассуждения о побуквенности, больших контекстах и даже modality-agnostic ;-) А вот это уже полный дилетантизм. Все идеи давно придуманы, ещё Платон, как вы помните, про общее пространство идей писал. А вот реализация подкачала. Для обучения нужна огромная база параллельных текстов. У вас есть такая для компьютерных программ? И даже если будет, вы наткнётесь на огромную нелинейность пространства, и качество вашей модели будет непригодным для практического использования, но выше нуля и можно будет и дальше оптимистично радоваться и вдохновляться "экспоненциальным прогрессом науки". Эта экспонента на самом деле с отрицательным коэффициентом при показателе степени по каждой задаче. А изобретение методов, изменяющих коэффициент у экспоненты -- революционный процесс, а не эволюционный. Так и живём.

К записи · К обсуждению