24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Нейронных сетей -тред (ну и искусственного интеллекта тож, пусть будет немношк -тред))) Первый официальный v 1.0 на двоще ИТТ (На нашел - не искал. Создал - не проеби. Не взлетит - побампаю)...
Ладно, начну с охуительной истории, а дальше как получится. Охуительная история: Попал я тут недавно в Китай. Месяц назад меня туда занесло. Побродил там недельки полторы и обратил внимание на такую штуку. Там в разных парках, на лавочках сидят китайские дiды и играют в забавную китайскую игру (Рис. 1). Созрел у меня тогда Хитрый План (Рис. 2). Суть хитрого плана - надрочиться за год в эту забавную китайскую игру, приехать обратно в Китай и обыграть там всех дiдов на деньги. Ну а чё? Показать им, что мы тоже могем в ваши китайские игры. Проблема: Вернулся я, значит, в свою мухосрань и начал гуглить - что то за хуйня, в которую они играют. Оказалось, что это Китайские Шахматы. На Википедии есть правила, которые проще даже, чем в классических шахматах. Правила эти запоминаются после первой сыгранной партии. Но. НО! Во-первых - тут в качестве шахматных фигур используются такие шашки с нарисованными на них иероглифами. Во-вторых - любая информация по этим шахматам находится в манускриптах зашифрованных тоже иероглифами. Погуглил, значит, софтины чтобы позадрачивать в эти шахматы с компом. Нашел только одну софтину, в которой можно изменять иероглифы на человеческие обозначения фигур (Рис. 3). К вечеру уделывал ее на max уровне сложности - "интеллект" у программы тупой. Повторяет одни и те же ходы и ошибки, сидит в защите, фигуры не развивает. На 8 ходу ладью у него хаваю. Нашел другую софтину, которая вроде немношк поумнее и не сидит в защите (Рис. 4). Но ты посмотри на эту жесть. Там после 10-15 ходов перестаешь понимать, что тут происходит.
В общем, есть мысль, что надо пилить свой искусственный интеллект для шахмат. Такой, чтобы он с нуля обучался, по чуть-чуть после каждой партии. Ну и самому вместе с ним обучаться. Есть мысль, что подобное можно реализовать на нейронных сетях. А вот теперь вопрос - как это реализовать? Как вообще пишут искусственные интеллекты для шахмат? Гугления не дают результатов.
Я только одно могу сказать. Ты никогда не обыграешь дедка в игру, в которую он шпилит всю жизнь. Вот хоть ты об стенку разбейся и поебись с дип блю. Не обыграешь ты его.
Нубас ты, ОП, тут только альфа-бета подойдёт, никаких нейронных сетей) Да к тому же наверняка уже есть очень сильные боты для этих шахмат, та просто плохо искал)
>>143140710 >1. Хакни это вторую игру, чтобы впендюрить в нее свои обозначения. Сейчас бы такой взять и хакнуть. К тому же, вторая софтина меня, мягко говоря, уделывает. Да и не интересно играть с компом, который ходы из уже готового дерева решений дергает. А выбор уровня сложности - это что-то из серии коррекции процента ошибок при выборе ветки в этом дереве (или изменение глубины поиска). Скучно и уныло. Намного интереснее играть с противником, которые в реальном времени обучается и играет на твоем уровне. Да и, честно сказать, меня не столько привлекает идея надрочиться в эти шахматы, как реализовать нейронную сеть умеющую в шахматы. >2. Выучи их. Китайские деды будут играть именно фишками с иероглифами. Иероглифы выучил таки.
>>143140728 >Я только одно могу сказать. Ты никогда не обыграешь дедка в игру, в которую он шпилит всю жизнь. Вот хоть ты об стенку разбейся и поебись с дип блю. Не обыграешь ты его. Чому не обыграю? Деды же не играют целыми днями. А у меня есть возможность дрочить эти шахматы 24/7. В Го вон надрочился 5 лет назад.
Повторяю: альфа-бета. Ты что именно собрался на нейронной сети делать? Оценочную функцию для альфа-беты? Ну попробуй, итоговое решение будет тормозным и сливать обычной эвристической, хорошо протестированной ОФ. Или прямо ходы хочешь вычислять на нейронной сети без поиска по дереву? Так это будет безумно слабый уровень игры, я гарантирую!
>>143141121 AlphaGo, например, на нейронных сетях написана. Без деревьев решений. >Она не использует библиотеку дебютов и во время игры не обращается ни к какой базе данных ходов непосредственно (а только использует нейронную сеть, натренированную на большом количестве партий). >А именно, AlphaGo использует нейронные сети, обученные на большом количестве профессиональных партий, способные предсказывать, какой ход сделает профессионал в той или иной позиции. Сыгранные сами с собой партии дополнительно улучшили нейронные сети.
>>143141207 Пипец ты нубас, ты статью-то про AlphaGo в журнале Nature не читал, о том, как она использует нейронную сеть для расширения алгоритма Monte-Carlo tree Search, который есть ничто иное как иной вариант поиска по дереву.
>>143141403 Желаю всласть наебаться с нейронными сетями, выдающими ходы без поиска по дереву, чтобы потом узнать, что альфа-бета прога, написанная школьником, в 300 строчек с оценочной функцией в 10 строчек уделывает твоё поделие как тузик грелку))
На нейронных никто скорее всего не делает. Проблема в кол-во вариантов, а такую сеть нужно обучить этим вариантам. Это очень много времени. А так просто возьми движок шахматный, под gpl много, и изучай.
>>143146413 Не как панацея, а как разновидность самообучающегося интеллекта. Какие еще алгоритмы машин лёрнинга есть? Генетические алгоритмы? Таки да, в 2012 я дропнул нейросети и сделал перекат в ГА. Очень они мне нравятся. Но они к шахматам не клеятся. Про методы отжига и ближайших соседей тож слышал. Пикрелейтед с собой в Китай брал. Книжечка чисто по машин лёрнингу. Там и про деревья отдельная глава есть. Годная книга, правда все исходники на Питоне и очень много говна уровня /скачайте библиотеканейм с нашего сайта
Ни хуя у тебя, ОП, не выйдет. Тут проблема-то не алгоритме, тут и альфа-бета сгодится, вся суть в эвристиках по которым поддеревья отсекать. У тебя путь только один: лет 5 задротить самому и только после этого садиться писать код. Машинное обучение свое можешь только после этого прикручивать сразу как только базу данных с миллионом партий дедков найдешь в открытом доступе
>>143148185 Почему не выйдет? Я же не говорю о том, чтобы написать программу, которая будет уделывать дiдов из китайской шахматной мафии. Максимум - программу, которая будет уделывать ОПа и обучаться на своих ошибках.
>>143140657 (OP) Нейросеть так себе для шахмат. В одиночку не осилишь, чтобы на приемлимом уровне гоняла. Реальные софтины вроде стокфиша пишут специально обученные люди-ученые. А нейросети это для крупных компаний с возможностью ворочать миллиардами.
>>143148497 Для того, чтобы программе понять, что есть ошибка, а что хороший ход, где выигрышная позиция, а где проигрышная, нужны сотни эвристик от людей, которые собаку съели на этой игре. Иначе тебе остается просчитывать дерево ходов целиком. Если там около 80 возможных ходов на ход и глубину брать хотя бы 20 ходов, то это уже 115292150460684697600000000000000000000 вариантов, тебе времени существования вселенной не хватит на прямой перебор.
>>143148910 >ля того, чтобы программе понять, что есть ошибка, а что хороший ход, где выигрышная позиция, а где проигрышная Определять выигрышные/проигрышные позиции на основе сыгранных партий же. За эвристики можешь пояснить?
>>143149087 И что забавного, зеленый? Даже божественный AlphaGo построен на MCTS. Ты к подобным задачам можешь приплетать ML только тогда, когда у тебя уже есть эвристики отсечения поддеревьев, в третий раз тебе говорю, и есть огромная база игр каких-нибудь гроссмейстеров в качестве базы для обучения.
>>143149392 Взять две нубопрограммы, которые делают рандомные ходы, посадить между собой играть. Добавить им только че-нить уровня /бить незащищенную фигуру. Пущай они на основе сыгранных партий выводят свои эвристики. Какие подводные камни?
>>143149388 Тебя заебет с ней играть уже на первом миллионе партий, инфа 100%. Из эвристик: начиная с детсадовских одна ладья стоит, как конь и две пешки, заканчивая довольно абстрактными понятиями, порожденными воспаленным мозгом гроссмейстера о балансе, пространстве и прочей мути. Нейросети и подобное говно юзается как раз для определения подобных высокоуровневых паттернов, а не для определения куда какие фигурки двигать.
>>143149808 Это примерно, как заставить две обезьяны печатать доносы друг на друга. Периодически поливать их холодной водой, пусть выводят свои эвристики.
>>143149824 А если тогда вот так. От текущей позиции строим дерево решений с минимальной глубиной поиска (ну или там рандомные ветки просматривать, ограниченное число). Далее в сыгранных партиях нейросетью ищем шаблоны-паттерны - эти самые эвристики, которыми модифицируем алгоритм поиска/отсечений в дереве решений. Подводные камни?
>>143150584 Ты хоть вообще представляешь, как нейросети работают? Это довольно-таки простая херотень, которая лепится на коленке за 5 минут. Вся проблема в том, как побыстрее ее научить, чтобы она еще при этом еще с ума не сошла. Образно же, ну. Вот ты пишешь > нейросетью ищем шаблоны-паттерны Как у тебя сеть банально поймет, когда она права, а когда нет? Это же не магия, блядь, какая. Как ты ее обучать собрался? Самому? Так ты сам играть не умеешь. Поэтому и возвращаемся к пункту раз: лет 5 задротить самому и только после этого садиться писать код.
>>143150080 Зочем? Есть программы с открытыми исходниками. http://xiang-qi.appspot.com/software2.html - VSCCPW - Version 1.4 for MS Windows Играет чуть получше той нубо-софтины. Правда у меня исходники не компилируются - MFC не завезли.
>>143140657 (OP) Недавно читал текст какой-то статьи и начали слегка ошибки проскакивать, смотрю а это гугл транслейтом переведено и я охуел как он хорошо стал работать. А вчера наткнулся на огромную статью про нейросети и как гугл вложился в перевод и он выстрелил. Кому интересно вот статья, но она огромная http://www.nytimes.com/2016/12/14/magazine/the-great-ai-awakening.html?_r=1
>>143150853 >Ты хоть вообще представляешь, как нейросети работают? Суммируем весовые коэффициенты перемноженные на входные сигналы. Далее к этой сумме применяем какую-то умную хрень-сигмоиду в качестве пороговой функции. И смотрим потом - если нейрон активировался/не_активировался в не_нужный/нужный момент - корректируем весовые коэффициенты. >>143150853 >Как у тебя сеть банально поймет, когда она права, а когда нет? Проебала партию - не права (ослабляем синапсы, которые привели ее к проигрышу). Выиграла - права (усиливаем нужные синапсы).
>>143151203 Однажды поздно в пятницу вечером в начале ноября, июнь Rekimoto, выдающийся профессор взаимодействия человека с компьютером в Университете Токио, был онлайн готовится к лекции, когда он начал замечать некоторые странные посты переходящего в в социальных медиа. Судя по всему, Google Translate, популярный сервис машинного перевода компании, неожиданно и почти неизмеримо улучшилось. Rekimoto посетил Перевести сам и начал экспериментировать с ним. Он был поражен. Он должен был идти спать, но отказался Перевести ослаблять контроль над его воображением.
>>143151551 Подводные камни в том, что при такой схеме пространство решений уж больно никакущее: либо выигрыш, либо проигрыш. А тебе, не забывай, на каждом ходу нужно решать какие ветки решений отсекать. Вот и приплыли. >>143151617 Ты наивно полагаешь, что детеныши с мозгом аки чистый лист рождаются? Это далеко не так. Какая-нибудь антилопа высирается из матки, и вот она уже через минуту-две упездывает от хищника. Или личинки людей еще толком взгляд фокусировать не умеют, а уже распознают лица. Миллионы лет эволюции имеют к этому непосредственное отношение.
>>143151203 Я вот читал, что ABBYY вложились в перевод, запилили свою технологию Compreno, семантико-синтаксический анализ текста, революция в понимании машиной текста, супер-качество переводов, бла-бла-бла. Столько лет уже прошло и где продукты? Ну что-то у них на этой технологии есть, но где опиздинительный перевод?
>>143140657 (OP) Видел как деды шпилят в эти шахматы, тоже было желание научиться. Так вот, ОП, я видел что деды играют на бабки, и готовь свой анус они играют в ЗАКРЫТУЮ, т.е. шашки рандомно выкладывают оппоненты друг другу в перевернутом виде, и ты каждый ход прежде чем сходить фигурой, переворачиваешь её и удивляешься.
>>143152680 Они пошли по тому же принципу, что и гугловский переводчик, обучаясь на n-грамах из книг, новостей и прочей херни (сравнивая оригинал и перевод), но тупо не смогли конкурировать с гуглом. Вот и не кукарекают больше.
>>143152436 >Подводные камни в том Ок. Можешь пояснить, как нейронная сеть выводит эвристики из миллиона загруженных партий сыгранных дiдами? >Ты наивно полагаешь, что детеныши с мозгом аки чистый лист рождаются? С базовыми инстинктами, которые вшиты в топологию сети. Оптимальная топология сети подбирается генетическим алгоритмом. Не? Ну и личинка образы распознает не сразу. Ебальник мамки, сиська, хавка - положительная обратная связь.
>>143152781 Это тебе какие-то хардкорные дiды попались. В классических шахматах тоже можно партию в танчики разыграть. Ставится перегородка в центре доски, противники расставляют свои танчики, убирается перегородка и начинается треш и угар: https://ru.wikipedia.org/wiki/Боевые_шахматы Или вообще вариант, когда противник не видит фигуры противника: https://ru.wikipedia.org/wiki/Кригшпиль_(шахматы) Только в эти вариации играют два с половиной аутиста.
>>143154538 >Почти всегда видел именно играющих в закрытый вариант. >Может это был какой-то особый кружок дидов, но наблюдал я их довольно часто. Скорее всего тебе попался особый кружок дiдов? В каком конкретно городе видел? Шашки ставили на пересечениях линий или в клетках?
>>143154772 >Анон, а ты не боишься, что после того, как ты обыграешь этих китайских дидов на большие деньги, тобой заинтересуется китайская мафия? Зачем на большие? Одного дiда на 20 баксов обыграть, потом с другим сесть поиграть. Если начнут косо смотреть - сделать перекат в другой парк с дiдами. С другой стороны, чего им косо смотреть на прошаренного игрока - там же у азиатов в Китае этикет всякий, взаимоуважение, все дела.
>>143153762 > Можешь пояснить, как нейронная сеть выводит эвристики из миллиона загруженных партий сыгранных дiдами? Понять как они работают порой практически невозможно, т.к. они находят такие (не)линейные зависимости, которые противоречат человеческой интуиции. Но на самом деле ты хотел спросить как их обучают. Если честно, я не знаю, но должны быть какие-то метаэвристики для каждой сети, которую тренят отдельно под каждую абстракцию. > Ну и личинка образы распознает не сразу. С полутора дней. Это чисто эволюционная фишка. DOI: 10.1126/science.7123230
>>143157179 >Но на самом деле ты хотел спросить как их обучают. Не совсем. Вот, скажем, распознавания образов - там есть картинка, каждый пиксель - вход в нейронную сеть. Или распознавание звуков - пропускаем через преобразования Фурье, получаем спектрограмму - ту же картинку, с пикселями-входами... А вот в этих сыгранных партиях - что отправлять на входы? Последовательно каждую позицию? Скажем, 9х10 размеры доски, каждая точка на поле может находится в одном из 15 состояний (по 7 фигур в двух противников + не занятая точка). Входной слой получается у нас состоит из 9х10х15=1350 нейронов? Скрытые слои будут выявлять какие-то шаблоны в позициях. Ну и после обучения (скармливания партий/корректировки весовых коэффициентов) этой нейронной сетью будем просматривать дерево решений? Как-то так?
Ладно, начну с охуительной истории, а дальше как получится.
Охуительная история:
Попал я тут недавно в Китай. Месяц назад меня туда занесло. Побродил там недельки полторы и обратил внимание на такую штуку. Там в разных парках, на лавочках сидят китайские дiды и играют в забавную китайскую игру (Рис. 1). Созрел у меня тогда Хитрый План (Рис. 2). Суть хитрого плана - надрочиться за год в эту забавную китайскую игру, приехать обратно в Китай и обыграть там всех дiдов на деньги. Ну а чё? Показать им, что мы тоже могем в ваши китайские игры.
Проблема:
Вернулся я, значит, в свою мухосрань и начал гуглить - что то за хуйня, в которую они играют. Оказалось, что это Китайские Шахматы. На Википедии есть правила, которые проще даже, чем в классических шахматах. Правила эти запоминаются после первой сыгранной партии. Но. НО! Во-первых - тут в качестве шахматных фигур используются такие шашки с нарисованными на них иероглифами. Во-вторых - любая информация по этим шахматам находится в манускриптах зашифрованных тоже иероглифами. Погуглил, значит, софтины чтобы позадрачивать в эти шахматы с компом. Нашел только одну софтину, в которой можно изменять иероглифы на человеческие обозначения фигур (Рис. 3). К вечеру уделывал ее на max уровне сложности - "интеллект" у программы тупой. Повторяет одни и те же ходы и ошибки, сидит в защите, фигуры не развивает. На 8 ходу ладью у него хаваю. Нашел другую софтину, которая вроде немношк поумнее и не сидит в защите (Рис. 4). Но ты посмотри на эту жесть. Там после 10-15 ходов перестаешь понимать, что тут происходит.
В общем, есть мысль, что надо пилить свой искусственный интеллект для шахмат. Такой, чтобы он с нуля обучался, по чуть-чуть после каждой партии. Ну и самому вместе с ним обучаться. Есть мысль, что подобное можно реализовать на нейронных сетях. А вот теперь вопрос - как это реализовать? Как вообще пишут искусственные интеллекты для шахмат? Гугления не дают результатов.
Есть тут аноны, которые умеют делать шахматы?