Чтение онлайн

на главную - закладки

Жанры

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

Во-вторых, рассмотренные нами виды векторов чрезвычайно разрежены. Это значит, что при обучении синаптические веса первого слоя будут изменяться достаточно редко, что не слишком хорошо будет сказываться на сходимости модели. Человек при анализе текста вооружён пониманием семантики слов, выработанным в процессе многолетнего обращения с естественным языком. Мы знаем о том, что некоторые слова близки по смыслу или вовсе являются полными синонимами, мы понимаем метафоры, выстраиваем ассоциативные ряды. Для нейронной сети, получающей на вход one-hot-векторы или мешок слов, разница между «пьяницей» и «алкоголиком» ровно такая же, как и между «бузиной» и «дядькой». Все отношения между словами наша сеть будет пытаться вывести на основе «изучения» обучающей выборки, которая чаще всего будет на много порядков меньше по объёму, чем весь тот корпус текстов, на котором человек обычно формирует

понимание естественного языка.

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

Мешки слов и n– грамм могут быть усовершенствованы ещё несколькими способами. Например, в случае мешка слов можно использовать группировку, считая все синонимы за одно слово. Впрочем, существенного выигрыша такой подход обычно не даёт — всё-таки полные синонимы в естественном языке встречаются не так уж часто. Другой подход основан на использовании хеш-функций, которые фактически выполняют случайную группировку слов (использование хеш-функций в сочетании с мешком n– грамм называют алгоритмом шинглов — от англ. shingles — чешуйки). Это позволяет уменьшить размерность, но ценой потери семантической информации, ведь в одну группу могут попасть слова, замена которых в тексте может существенно исказить его смысл. В общем, все эти классические методы не позволили достичь значительного прогресса в области обработки естественного языка. Было ясно, что необходимо найти им какую-то более совершенную альтернативу…

6.3.3.2 Языковые модели и работа Бенджио

Под [статистическими] языковыми моделями обычно понимают модели, предназначенные для поиска приближений совместного распределения вероятностей для последовательностей слов (или символов) естественного языка. Проще говоря, языковая модель обычно способна ответить на вопрос, какова вероятность встретить в некотором тексте на естественном языке определённую последовательность символов (или слов). Например, какова вероятность в случайно взятой книге после слов «как хороши, как свежи были» встретить, например, слова «розы», «штампы» или, скажем, «фтагн». Мы уже встречались с языковыми моделями в разделе, посвящённом распознаванию речи. Задача определения вероятности следующего слова в последовательности слов ничем существенно не отличается от задачи определения того факта, что некоторое предложение является ругательным. В обоих случаях мы имеем дело с задачей классификации, только в случае с ругательствами у нас всего два класса («ругательства» и «не ругательства»), а в случае предсказания следующего слова число классов равно размеру используемого словаря.

В начале 2000-х гг. стандартный подход к моделированию языка был основан на n– граммах. Например, мы можем подсчитать, сколько раз в обучающем корпусе встречались триграммы «свежи были розы», «свежи были штампы», «свежи были фтагн» и так далее для каждого слова-кандидата. Теперь в качестве прогноза вероятности слова «розы» вслед за словами «свежи были» мы можем использовать отношение числа вхождений в обучающий корпус триграммы «свежи были розы» к суммарному числу вхождений в него триграмм, начинающихся на «свежи были». Однако у этого подхода есть несколько серьёзных недостатков.

Во-первых, какую длину n– граммы выбрать? При уменьшении n предсказательная сила модели быстро падает. Действительно, в нашем корпусе (конечно, если он включал в себя соответствующую цитату из Мятлева, вынесенную Тургеневым в название одного из своих стихотворений в прозе) слова «как хороши, как свежи были» в большинстве случаев продолжались именно «розами». Чего не скажешь об одиночном слове «были». После «были» нередко встречается «на», «в» и так далее, причём куда чаще, чем «розы». С другой стороны, при увеличении n наша выборка n– грамм быстро становится нерепрезентативной. Мы всё чаще попадаем в ситуацию, когда число n– грамм, совпадающих с текущим контекстом (т. е. с предшествующими словами, которые мы стремимся продолжить), крайне мало, а иногда и вовсе равно 0. И что вообще значит, что слова «свежи

были» в обучающем корпусе никогда не продолжались словом «фтагн»? Значит ли это, что вероятность такого продолжения равна 0? Возможно, до выхода в свет моей книги такое продолжение в литературе действительно не встречалось, но ведь теперь ситуация изменилась! Значит, вероятность всё-таки не была нулевой. С проблемами подобного рода боролись обычно, создавая комбинированные модели, например, из униграмм, биграмм и триграмм, используя в качестве прогноза модели взвешенную сумму их прогнозов. Вместо нулевой вероятности можно использовать некоторую крайне малую, но ненулевую величину либо применить какой-то иной способ сглаживания модели.

Во-вторых, с увеличением n быстро растут требования к объёму используемой памяти. Действительно, в какой-то момент размер оперативной памяти для хранения статистики n– грамм становится недостаточным. Конечно, эту статистику можно пересчитывать на лету, но для этого потребуется в момент расчёта вероятностей заново анализировать весь обучающий корпус, что чаще всего неприемлемо из-за ограничений по времени. Поэтому в начале 2000-х гг. обычно использовались модели, в которых самыми длинными были триграммы.

В-третьих, n– граммные модели ничего не знают о похожести слов и вообще об их семантике. Например, если в обучающем корпусе встречается фраза «Петя щёлкнул Васю по», продолжением которой является слово «лбу», то это никак не поможет модели понять, что последовательность «Вася щёлкнул Петю по» также с большой вероятностью будет продолжена тем же самым словом. Для модели «Вася» и «Петя» — это не имена мальчиков, а просто два разных слова. Несложно заметить, что трудности n– граммных моделей аналогичны трудностям моделей, использующих в качестве текстовых представлений мешки слов и one-hot-векторы.

Эти недостатки n– граммных моделей не нашли удовлетворительного решения.

Требовался новый подход, и в 2003 г. свет увидела важная работа Йошуа Бенджио и его коллег под названием «Нейронная вероятностная языковая модель» (A Neural Probabilistic Language Model) [2109] . Изложенная в ней идея заключалась в том, чтобы вместо one-hot-векторов использовать векторы признаков [feature vectors], обладающие меньшей размерностью и представляющие собой наборы вещественных параметров (своих для каждого слова), значения которых можно было бы получить в процессе обучения модели. Бенджио экспериментировал с векторами размерностью 30, 60 и 100 при размере словаря около 16 000–18 000 слов (в зависимости от корпуса). В зависимости от настроек сеть Бенджио принимала на вход соединение (конкатенацию) векторов, соответствующих трём, четырём или пяти предыдущим словам (т. е. при размерности вектора признаков, равной 100, и длине контекста, равной 4, на вход сети подавалось 4 x 100 = 400 вещественных чисел), и представляла собой полносвязный перцептрон — в большинстве экспериментов с одним промежуточным слоем, в котором могло быть 50 или 100 нейронов.

2109

Bengio Y., Ducharme R., Vincent P., Jauvin C. (2003). A Neural Probabilistic Language Model / Journal of Machine Learning Research, Vol. 3 (2003), pp. 1137—1155 // http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf

Реализацию идеи Бенджио можно представить как добавление ко входу сети нескольких идентичных нейронных сетей (по одной для каждого из слов контекста). Каждая из этих сетей состоит из двух слоёв нейронов и преобразовывает one-hot-векторы, соответствующие словам, в векторы признаков. Все нейроны её первого слоя (получающего на вход one-hot-векторы) связаны со всеми нейронами второго слоя (выходы которого и составляют векторы признаков). Такое соединение часто называют проекцией [projection].

Число параметров такой сети равно произведению числа слов в словаре и размерности вектора признаков. Таким образом, при 16 000 слов в словаре и размерности вектора признаков 100 число параметров будет равно 16 000 x 100 = 1 600 000. Поскольку сети, применяемые к каждому из слов, идентичны (т. е. содержат копии одного и того же набора весов), увеличение длины контекста никак не влияет на число параметров модели. Если бы вместо такого набора сетей мы использовали полносвязный слой, то число параметров в нём было бы при длине контекста 4 равно (4 x 16 000) x (4 x 100), то есть в 16 раз больше, чем в модели Бенджио.

Поделиться:
Популярные книги

Том 13. Письма, наброски и другие материалы

Маяковский Владимир Владимирович
13. Полное собрание сочинений в тринадцати томах
Поэзия:
поэзия
5.00
рейтинг книги
Том 13. Письма, наброски и другие материалы

Эволюционер из трущоб. Том 4

Панарин Антон
4. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 4

Наследие Маозари 5

Панежин Евгений
5. Наследие Маозари
Фантастика:
фэнтези
юмористическое фэнтези
5.00
рейтинг книги
Наследие Маозари 5

Пятничная я. Умереть, чтобы жить

Это Хорошо
Фантастика:
детективная фантастика
6.25
рейтинг книги
Пятничная я. Умереть, чтобы жить

Шаман. Ключи от дома

Калбазов Константин Георгиевич
2. Шаман
Фантастика:
боевая фантастика
7.00
рейтинг книги
Шаман. Ключи от дома

Ведьмак (большой сборник)

Сапковский Анджей
Ведьмак
Фантастика:
фэнтези
9.29
рейтинг книги
Ведьмак (большой сборник)

Начальник милиции. Книга 6

Дамиров Рафаэль
6. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 6

Подари мне крылья. 2 часть

Ских Рина
Любовные романы:
любовно-фантастические романы
5.33
рейтинг книги
Подари мне крылья. 2 часть

Не грози Дубровскому! Том III

Панарин Антон
3. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том III

Идеальный мир для Лекаря 24

Сапфир Олег
24. Лекарь
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Идеальный мир для Лекаря 24

Хроники Темных Времен (6 романов в одном томе)

Пейвер Мишель
Хроники темных времен
Фантастика:
фэнтези
8.12
рейтинг книги
Хроники Темных Времен (6 романов в одном томе)

Идеальный мир для Лекаря 15

Сапфир Олег
15. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 15

Шайтан Иван

Тен Эдуард
1. Шайтан Иван
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Шайтан Иван

Князь Мещерский

Дроздов Анатолий Федорович
3. Зауряд-врач
Фантастика:
альтернативная история
8.35
рейтинг книги
Князь Мещерский