Свежие публикации

Здесь собраны все публикуемые пикабушниками посты без отбора. Самые интересные попадут в Горячее.

02 Ноября 2017

Туда же про сбер.

Приходилось, однажды, оплачивать ипотеку наличкой. Подчеркну, что именно оплачивать, т.е. я отдаю деньги, а не мне. Так там взяли паспорт, начали сверять мое лицо с тем, что в паспорте, а я на тот момент, да и сейчас, с бородой хожу. А на фотке в паспорте гладко выбрит. Не поверила. Пригласила старшую. Вдвоем сверяют. Я себя натурщиком почувствовал от таких пристальных взглядов. Вроде как поверили, деньги взяли. На выходе еще и охранник попросил паспорт глянуть. Зачем - не знаю. Не дал. А часто злоумышленники приходят платить за кого то кредитыипотеки?

Авторское провинциальное кино. «Совершенное действие».

Есть у нас в городе человек который любит снимать кино. Зовут его Игорь Кульков. Хочу поделится с народом его последним фильмом.

Дискотека не удалась:(

Дискотека не удалась:( Дискотека, Медведи, Фотография, Деревня, Объявление

Сфотографировал пару лет назад в командировке)

Показать полностью 1

Вот такой тысячной сегодня расплатились.

Вот такой тысячной сегодня расплатились. Деньги, Магазин
Показать полностью 1

Рамзан Кадыров предложил захоронить тело Ленина

Глава Чечни Рамзан Кадыров заявил, что решение о захоронении вождя русской революции может стать самым верным с исторической точки зрения.


Но я лично убежден, что довольно глазеть на труп Ленина. И руководителя революции давно пора похоронить, это и разумно и человечно.
Неправильно, что в самом сердце России, на Красной площади, стоит гроб с мёртвым человеком. Если решение о захоронении тела Ленина будет принято, то оно будет самым верным с исторической точки зрения.

— Рамзан Кадыров

Рамзан Кадыров предложил захоронить тело Ленина Ленин, Рамзан Кадыров, Новости, Похороны

Сам пост появился в Telegram-канале Кадырова. Он также отметил, что над телом Ленина постоянно работает целый научно-исследовательский институт, а возле мавзолея круглосуточно находится охрана, и это совершенно неправильно.

Нейронная сеть, теперь и для Tower Defense, проверяю гибкость моего "детища"

Привет всем! В сегодняшнем посте я бы хотел вам расписать, что такое эта "нейросеть" обычными словами и рассказать про то, как я использовал ее в созданном на неделе Tower Defense'е(Жанр игр, где у игрока есть карта с дорогами, по которым враги пытаются добраться от начала до конца, а цель игрока ставить "башни", для того чтобы те всячески мешали недругам выполнить их задачу, отстреливая, замедляя их и т.д.), и примерчик, как я генерирую карты(это не рандомная генерация, а просто способ ускорено рисовать наброски уровней), может кому интересен будет.


Ссылка на прошлый пост


Для людей, которые хотели бы узнать что это за "магия" на тему которой некоторые свободно разговаривают, а у других при этом возникает чувство, что первые общаются на древне-руническом. Так вот, допустим, я хочу создать нейросеть, которая будет решать, есть ли мне что-то или нет. Сама сеть это такая коробка, в которую мы подаем информацию, в данном случае блюдо, а на выходе, т.к. я хочу получить ответ есть мне это или нет, будет вероятность того, съел бы я это блюдо. внутри этой коробки есть 2 анализатора(входа), это внешний вид блюда и его запах. Т.е. по сути мы имеем 2 нейрона, по 1 от каждого анализатора, а именно - первый нейрон имеет 2 значения, если он равен 1 значит блюдо "хорошо выглядит", а в случае 0 - блюдо "плохо выглядит" и, так же, есть второй нейрон, который при 1 говорит нам, что у блюда "хороший запах", а при 0 - "плохой запах", так же у каждого нейрона есть свой "вес", часто он находиться в промежутке от 0 до 1. Изначально я установлю вес каждого нейрона равным 0. И начинаю тренировать сеть, на собственном примере, ведь я хочу, чтобы она думала также, как и я. Беру блюдо1, оно на вид хорошее и запах приятный, "я б его съел" пронеслось в голове и я говорю сети, что в данном примере ответ "да". Сеть пробегается по нейронам "хорошо выглядит" и "хороший запах", и просчитывает по "грубой" формуле (значение_нейрона1 *умножить* на вес_нейрона1 + значение_нейрона2 *умножить* на вес_нейрона2), т.е. в нашем случае сеть говорит нам (1 * 0 + 1 * 0) = 0, т.е. по ее мнению, я бы это не стал есть, но т.к. это ответ не правильный(не совпадает с тем, что я ей сказал), она прибавляет ей 0.5 к весу, чем меньше это значение(0.5), тем больше мне потребуется опытов в процессе обучения, но и сеть будет точнее работать, но в данном примере я решил прибавлять по 0.5 в случае, если ответ совсем не совпадает. Далее рассмотрим блюдо2, оно выглядит ужасно, но вкусно пахнет, я сети говорю "да, я съел бы это", она проходит по нейронам и считает (0 * 0.5 + 1 * 0.5) = 0.5, т.е. есть вероятность что я съем, по ее мнению. Что не сильно, но отличается от вреного ответа, т.к. в нейроне вкуса был 0, а мой ответ был 1, то мы от этого веса отнимем примерно третью часть нашего числа(0.5) от веса, т.е. вес стал (0.5 - 0.15) = 0.35, а вот в нейроне запаха была 1, то мы прибавляем к весу 0.15 и получаем (0.5 + 0.15) = 0.65. Теперь, мои приоритеты вам известы, а известны ли они сети? Проверим, даем блюдо3 с хорошим видом и плохим запахом (1 * 0.35 + 0 * 0.65) = 0.35, т.е. маловероятно, что в принципе близко к моему ответу нет. И вот я иммею простецкую сеть, решающую тривиальную задачу.


Теперь приступим к рассмотрению нейросети в TD. Я набросал небольшой уровень который выглядит следующим образом.

Нейронная сеть, теперь и для Tower Defense, проверяю гибкость моего "детища" Нейронные сети, Gamedev, Инди, Искусственный интеллект, Длиннопост

Где желтые кубы - это места для строительства, белые шары это точки маршрута, или те самые дороги, по которым враги стремяться дойти до конца.(Вход ближняя к нам крайняя точка, выход дальняя крайняя). Так же "своял" три пушки, просто турель, стреляющая быстро по 1 врагу

Нейронная сеть, теперь и для Tower Defense, проверяю гибкость моего "детища" Нейронные сети, Gamedev, Инди, Искусственный интеллект, Длиннопост

Ракетная установка, которая бьет по сильнее, но медленнее и сразу по нескольким врагам.

Нейронная сеть, теперь и для Tower Defense, проверяю гибкость моего "детища" Нейронные сети, Gamedev, Инди, Искусственный интеллект, Длиннопост

И пушка-заморозка, которая при атаке замедляет скорость врага на 30%.

Нейронная сеть, теперь и для Tower Defense, проверяю гибкость моего "детища" Нейронные сети, Gamedev, Инди, Искусственный интеллект, Длиннопост

Взяв ту же сеть, что и в прошлом посте, я начал думать, какие данные давать боту, чтобы тот отталкивался от них. Решил основываться на том, где расположена точка постройки, а точнее сколько прилегает к этому кубику "точек маршрута", тэг выглядит следующим образом "build_2_3", где первая цифра это сколько точек прилегает с отступом в 1(т.е. сверху, снизу, слева, справа), а вторая цифра это сколько точек прилегает по диагонали, это можно назвать первым слоем, второй слой смотрит что за пушка(ее ID) и сколько таких уже построено, тэг выглядит так "tower_1_0". Т.е. теперь бот получает лучшую, по его мнению, точку, для постройки, основываясь на весе нейрона с тэгом "build_*_*" и далее прибавляет к нему вес нейрона вышки "tower_*_*" для каждой из пушек и так же добавляет все эти действия в пул, из которого бот уже выберет, какую пушку ему строить. После завершения составления этого списка, бот выбирает лучшие из них, так же с коэффициентом погрешности. И уже из лучших на основе рандома выбирает конечную. Если у него хватает денег, то он строит, если нет, то ничего не делает. Это позволит боту ждать, когда ему хватит денег на башню, а не плодить кучу дешевых.


Для обучения я наплодил 200 волн по 8 противников, каждая волна немного сильнее предыдущей. При первой итерации бот дожил аж до 58 волны, а уже при третьей "прошел" игру. Тут я понял, что проблема в балансе и боту слишком просто. ПО этому разницу между противниками в разных волнах я увеличил. Теперь бот уже испытал сложности и начал использовать все виды пушек. Но текущие данные не идеальны, ведь бот сейчас основывается, грубо говоря, на положении точек построек относительно "точек пути", а среди пушек выбирает те, которые ему нравятся(он использует ледяную и ракету, чаще чем пулемет), хотя в текущей версии, с одинаковыми врагами, эта стратегия хорошая. Но бот не создает комбинации из нескольких пушек (ракета, а рядом заморозка), точнее подобные связи получаются у него, но они не осознанные.


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



А теперь я расскажу, как я генерирую уровень, для дальнейшего его редактирования. На самом деле, все довольно таки банально, я просто рисую в Paint'е вот такую карту, по пиксельно.

Нейронная сеть, теперь и для Tower Defense, проверяю гибкость моего "детища" Нейронные сети, Gamedev, Инди, Искусственный интеллект, Длиннопост

Где серые это просто блоки, черные - это места под строительство, зеленый - это выход. Соответственно я разбираю каждый пиксель и смотрю их цвет и в зависимости от него, я подгружаю нужный мне элемент(земля, выход и т.д.). Желтая и красные пиксели это пути, я разбираю их на 2 составляющие r и g, красный и зеленый цвет. Если зеленый цвет = 255, значит это спавн, точка старта для монстров, а вот красный цвет в зависимости от насыщенности меняется направление движения, т.е. при r=255 направление движения вправо, r = 196, направление движения вверх. Все это можно было оставить одним красным цветом и уже кодом искать ближайшие точки, но я захотел вообще упростить себе задачу). Соответственно позиция пикселя на картинке, является позицией подгружаемого объекта в мире.

Показать полностью 5

Лопата.

Лопата.

Поиграем в бизнесменов?

Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.

СДЕЛАТЬ ВЫБОР

Из чего только Мону Лизу не делали.

Из катушек

Из чего только Мону Лизу не делали. Мона Лиза, Ленин, Длиннопост

Из кофейных чашек

Из чего только Мону Лизу не делали. Мона Лиза, Ленин, Длиннопост

Из пуговиц

Из чего только Мону Лизу не делали. Мона Лиза, Ленин, Длиннопост

И даже из драгоценных камней

Из чего только Мону Лизу не делали. Мона Лиза, Ленин, Длиннопост
Показать полностью 4
Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите