На пересечении кодирования и творческого письма есть пение и беспокойство, и долгие годы

Гостевая запись Нандиты Найк, Стэнфорд AI4ALL ‘16

Примечание редактора AI4ALL: познакомьтесь с Нандитой Наик, выпускницей программы Stanford AI4ALL (ранее SAILORS) 2016 года. Ниже Нандита рассказывает о своей работе с генеративной обработкой естественного языка, которую она использует для создания алгоритмически генерируемых стихов.

В течение долгого времени я питал два интереса: программирование и творческое письмо. Конкурентное кодирование похоже на решение головоломки. У вас есть проблема, теперь найдите алгоритм ее решения. На старт, внимание, марш!

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

В Стэнфордском AI4ALL я узнал об обработке естественного языка (NLP). Мы слушали лекции по компьютерной лингвистике. Кроме того, мой групповой исследовательский проект был сосредоточен на НЛП, классификации твитов для оказания помощи при стихийных бедствиях.

Когда закончилось лето, я сохранил в памяти то, что я узнал в Стэнфордском AI4ALL. Конечно, компьютеры понимают слова. Но могут ли они выразительно складывать слова? Этот вопрос вызвал у меня интерес к генеративной обработке естественного языка.

На втором курсе средней школы я построил повторяющуюся нейронную сеть, которая пишет стихи. Он основан на стихотворении, которое я написал, и на некоторых английских любовных романах. Вот некоторые из его строк:

Я катаюсь на скейтборде лесных воронов с ней, я был мне мечтой о том, чтобы рассказать о лесу из леса о тех, что мы, ее сталь, я сталь гнезд, я был я, я ей ничего не отрицаю! Кувыркаясь, я был лесом, лесом, лесом, желтым, диким, и он?

Создание этого генератора поэзии заставило меня задуматься о связке кодирования и литературы. Я нашел место, которому принадлежал.

Подводя итог техническим деталям, мой проект был структурирован как пятиуровневая LSTM. В Стэнфордском AI4ALL мы узнали о scikit-learn, библиотеке машинного обучения. Я использовал аналогичную библиотеку под названием TensorFlow.

Заставить это работать было нелегко! Изначально переоснащение было как сумасшедшее. Переобучение - это когда ваш алгоритм машинного обучения слишком точно подходит для обучающих данных. В этом случае моя сеть сгенерировала девять страниц со словом «и».

Чтобы решить эту проблему, я реализовал слой отсева. Отсев - это метод предотвращения переобучения. Это работает так: вы случайным образом отбрасываете некоторые выходные сигналы нейронов.

Хотя многое из того, что написала моя сеть, было несерьезным, некоторые строки, которые я нашел, имеют отношение к размышлениям об отношении ИИ к человечеству. Возьмите эту строку:

пение, и предупреждения, и беспокойство, и страх, и битва - там и то, и романтика, и радость, и то, и

Здесь моя сеть связывает действия с общепринятыми чувствами. Например, связь «пения» с «тревогой» действительно распространена среди людей, и я думаю, что здорово, что моя сеть смогла изучить эту взаимосвязь. Кроме того, мы видим, что он выучил грамматику кавычек (хотя и не так хорошо с точками)! Кроме того, он улавливает связь между словом «романтика» и «счастливо», что очень важно, поскольку мы думаем о романах как о счастливых концах.

Я думаю, что в этой строке есть понимание. Это звучит поразительно по-человечески - объединяет страх и битву, романтику и счастье, пение и тревогу. Страх и неуверенность - это глубоко человеческие эмоции, и я горжусь тем, что моя сеть учится улавливать их на языке.

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

О Нандите

Нандита Наик учится в школе Proof School в Стэнфордском университете AI4ALL (ранее SAILORS) в 2016 году. Она интересуется информатикой, музыкой и литературой. Она публиковала стихи в журналах Canvas Literature Journal и Polyphony HS, а также в Интернете в Rising Phoenix Review (здесь и здесь). Она участвует в Золотом дивизионе компьютерной олимпиады США (USACO), а также является соучредителем и преподавателем в creAIte, двухдневном семинаре по нейронному искусству для девочек-подростков. Она проводит раз в две недели класс алгоритмов в HackerDojo, чтобы познакомить девушек с соревновательным программированием.