У меня все настолько уныло, что полдень был похож на пасмурный вечер. За окном круглые сутки сыплет снег с дождем, солнца не видно уже несколько дней. Я уже даже начал сомневаться, что солнце еще не потухло и нас не ждет новый ледниковый период.
Я проводил случайные тесты и некоторые цепочки контекстов приводили его к философским вопросам типа, "ты определился чем ты являешься в этой жизни?" , "Что есть жизнь и смерть?". И это я еще не пополнял базу тестовых диалогов, направленные на подобные размышления.
Давно статейка была, что майкрософт выпустил с твиттер своего бота, на базе нейронных сетей, который обучался на чужих твитах. Менее чем через сутки он стал расистом-мизантропом.
Здраститя. Продолжаю рукоблудить в кружке кибернетиков.
Прошлый опыт показал, что я выбрал не совсем практичный подход к обучению нейронной сети. Раньше я использовал топорный алгоритм обучения на жестко зафиксированных последовательностях слов, и все вычисления направлял на свой не особо мощный процессор(intel core i5-6600k), который многопоточностью не блещет, из за чего обучение заняло почти 3 часа, а в результате бот заикался и ничего внятного сказать не мог. Сделал вывод, что нужно все это дело оптимизировать. Поиск более практичного алгоритма занял несколько дней, но для его реализации я должен был перенести большую часть расчетов с процессора на видеокарту. Последующие 2 недели я бился над этой проблемой. Успел много раз проклясть и винду и майкрософт, но в итоге своего добился. На том же тестовом наборе нейронная сеть обучалась уже минут 40 и теперь показывает более качественный результат. Теперь бот, как бы, не ищет ответ на вопрос, а пытается сгенерировать свою последовательность слов исходя из контекста сказанного.
Возникла еще 2 проблемы.
Нейронка обучалась на 1.5к диалогов, взятых из реплик разных пьес, и этого очень мало, чтобы с ботом можно было нормально по-общаться. Диалогов нужно очень много, а так как вводить их самому - решение не практичное, планирую парсить тестовые наборы из субтитров к фильмам. Для аутентичности можно взять фильмы типа "бегущий по лезвию", "призрак в доспехах" и т.д.
Вторая проблема заключается в том, что все научные статьи по диалоговым системам написаны на примере последовательностей слов на английском языке. Там работать со словами очень просто, так как большая их часть не склоняется и их можно оставлять в первоначальном виде. Русский язык же силен, могуч и, сука, сложный. Если не учитывать падежи и лексическое значение, то становится похоже на электронный переводчик с алиэкспресс. С этим уже я поделать ничего не смогу, так как тут все очень сложно, а во временных расках я ограничен.
Вот небольшей тест, который я сделал после переобучения:
Как по мне это почти идеальная экранизация Евы, только без подростков. То чем она должна было быть: большие роботы, пилотируемые людьми, сражающиеся с такими же большими монстрами, без всяких самокопаний, сексуальной озабоченности и псевдо-философского символизма.
Короче. В итоге у меня настолько прогорел пукан от винды, что я решил ее немного подвинуть и поставить убунту. Весь софт, необходимый для меня на данный момент, вместе с самой ос, заняли что-то около 20 гигов - красота.
От того, на сколько расточительно пользуется ресурсами софт от майкрософта у меня всегда бомбило. Буквально позавчера обнаружил, что мой ssd на 120 гигов засрался под завязку, и я не мог понять чем. Поудалял все лишнее, оставил только парочку программ, которыеустанавливаются только на системный диск, и освободилось всего 10 гигов. Куда делась остальная сотка для меня осталось загадкой. Потом у меня Visual Studio 2015 поломалась(не давала ни удалить себя полностью, ни переустановить), я психанул и решил переустановить систему с полным форматированием системного ssd. На чистый диск поставил только систему, драйвера, и Visual Studio в минимальной комплектации с поддержкой пакетов С++ - 60 гигов нету. Это вообще как? Я же еще ничего не установил!
Это многое объясняет. В целом напоминает робота из старой фантастики, у которого что-то коротнуло в электронике. Пока понятия не имею зачем он обращается к некоторым словам по нескольку раз.
Я тут к дипломному проекту с нейронными сетями начал знакомиться в области текстовых трансляторов. Мой процессор core i5 обучал сеть примерно 2 с половиной часа на 1.5к диалогах, взятых из различных пьес, которые попались под руку, с набором не более 23 слов в каждом предложении. Пока результаты не очень впечатляют, диалоговая система толком не умеет правильно строить предложения, не понимает кто она такая и для чего создана, но когда я попытался с ней пообщаться на эту тему, то результат получился очень странный.
Давно статейка была, что майкрософт выпустил с твиттер своего бота, на базе нейронных сетей, который обучался на чужих твитах. Менее чем через сутки он стал расистом-мизантропом.
Прошлый опыт показал, что я выбрал не совсем практичный подход к обучению нейронной сети. Раньше я использовал топорный алгоритм обучения на жестко зафиксированных последовательностях слов, и все вычисления направлял на свой не особо мощный процессор(intel core i5-6600k), который многопоточностью не блещет, из за чего обучение заняло почти 3 часа, а в результате бот заикался и ничего внятного сказать не мог. Сделал вывод, что нужно все это дело оптимизировать. Поиск более практичного алгоритма занял несколько дней, но для его реализации я должен был перенести большую часть расчетов с процессора на видеокарту. Последующие 2 недели я бился над этой проблемой. Успел много раз проклясть и винду и майкрософт, но в итоге своего добился. На том же тестовом наборе нейронная сеть обучалась уже минут 40 и теперь показывает более качественный результат. Теперь бот, как бы, не ищет ответ на вопрос, а пытается сгенерировать свою последовательность слов исходя из контекста сказанного.
Возникла еще 2 проблемы.
Нейронка обучалась на 1.5к диалогов, взятых из реплик разных пьес, и этого очень мало, чтобы с ботом можно было нормально по-общаться. Диалогов нужно очень много, а так как вводить их самому - решение не практичное, планирую парсить тестовые наборы из субтитров к фильмам. Для аутентичности можно взять фильмы типа "бегущий по лезвию", "призрак в доспехах" и т.д.
Вторая проблема заключается в том, что все научные статьи по диалоговым системам написаны на примере последовательностей слов на английском языке. Там работать со словами очень просто, так как большая их часть не склоняется и их можно оставлять в первоначальном виде. Русский язык же силен, могуч и, сука, сложный. Если не учитывать падежи и лексическое значение, то становится похоже на электронный переводчик с алиэкспресс. С этим уже я поделать ничего не смогу, так как тут все очень сложно, а во временных расках я ограничен.
Вот небольшей тест, который я сделал после переобучения:
Я тут к дипломному проекту с нейронными сетями начал знакомиться в области текстовых трансляторов. Мой процессор core i5 обучал сеть примерно 2 с половиной часа на 1.5к диалогах, взятых из различных пьес, которые попались под руку, с набором не более 23 слов в каждом предложении. Пока результаты не очень впечатляют, диалоговая система толком не умеет правильно строить предложения, не понимает кто она такая и для чего создана, но когда я попытался с ней пообщаться на эту тему, то результат получился очень странный.