Спасибо за ответ. Да, я действительно во всех отзывах сейчас наблюдаю мнение, что после неких патчей в прошлом году андроид-прошивки для Onyx стали более экономичными в плане батареи. Но в целом конкретно этот момент меня не так сильно расстраивал (даже в том "прожорливом" варианте одной зарядки вполне хватало на неделю-полторы, что лично мне в общем-то достаточно; да, конечно покетбук держит полтора два месяца на полусдохшем аккумуляторе — это приятно, но совершенно не критично). Время перерисовки страницы тоже очень сильно зависит от. Простенькие FB2-книжки будут листаться мгновенно на любом ноунейм-китайце, скорость будет упираться в скорость обновления самого экрана. Ну а тяжёлые PDF-документы рисуются везде подолгу, увы. Режим А2 — это, видимо, быстрая отрисовка в 2 цветах, без оттенков серого? Я пробовал включать этот режим на Магеллане — ну полный же атас, вообще невозможно смотреть без слёз. Есть подозрение, что этот режим придуман не программистами, а сделан по заказу маркетологов, чтобы можно было в пресс релизе написать "время обновления страницы 160мс" и при этом их не обвинили бы в прямом обмане. В своём отзыве выше про скорость работы я, в первую очередь, имел ввиду именно общее впечатление от ежедневной работы с устройством. Прошивка на голом линуксе (такая как в покетбуках) не производит ощущение тормозной, даже с учётом медленной прорисовки eInk. Например, быстрое меню, состоящее из 8 расположенных по кругу (точнее, по квадрату) малюсеньких пиктограмм появляется в центре экрана почти мгновенно. Да, это меню очень маленькое, крошечное по площади, и пиктограммы там мелкие и некрасивые — но оно отрисовывается почти мгновенно, как раз из-за малой площади, и это самое главное для юзабилити. На том же ониксе всплывающее меню внизу экрана, которое по площади занимало, кажется, треть экрана или типа того, рисуется уже некомфортно долго, и при перемещении курсора по нему постоянно моргает и всячески бесит. Огромная полоса настройки яркости, к примеру, тоже выглядит может и красиво, но пользоваться ей неудобно как раз из-за лагов. Подозреваю, что андроид тут серьёзно усугубляет ситуацию, т.к. даже на недорогих телефонах с "мгновенным" TFT-экраном андроид-интерфейс некомфортно тормозит и лагает, а начинку этих ридеров я бы сравнивал именно с начинкой недорогих китайских телефонов. Так что нет. Хорошая попытка, но нет. Никаких больше андроидов. Буду заказывать Kindle Oasis, уже почитал на него обзоры и только укрепился во мнении, что там, наконец, сделали действительно удобное с точки зрения юзабилити устройство. Жаба жабой, а удобство удобством. Будет мой первый киндл, там посмотрим.
Скорее всего будете разочарованы. Я пытался использовать для этой цели Onyx Magellan — и это был провальный эксперимент. Экран eInk абсолютно не приспособлен для отображения интерфейса обычных андроид-приложений, а 99.9% андроид приложений не приспособлены для отображения на eInk экране. Есть полтора приложения, оптимизированных под eInk, и это те самые предустановленные на устройтство читалки. Я пробовал gReader (по мне так он удобнее Feedly), но текст практически нечитаем (контрастность почти нулевая), скорость отрисовки доводит до белого каления, на грани «за хвост и об стену»: для eInk оптимально делать постраничное листание, а во всех андроид приложениях — попиксельный скроллинг. В общем, 20 раз подумайте, прежде чем покупать именно для такого сценария использования.
Ну, это не совсем так. Я разворачиваю читалку на 90 градусов, и делаю масштабирование страницы на всю ширину устройства (бывшую высоту), без полей по бокам — они обрезаются. По высоте при этом влазит чуть меньше половины А4 страницы, то есть приходится скроллить. Для подавляющего большинства книг (из моей библиотеки) получается вполне приемлемо, размер шрифта норм. Да, это не огромный девайс, где страницу А4 можно отобразить целиком без скроллинга, но зато размер и вес устройства позволяют таскать его везде с собой.
Также выскажу осторожное мнение, что андроид на читалке избыточен. Две мои последние читалки были: престарелый PocketBook 360 (без подсветки, без тач-скрина, без андроида, идеальный форм-фактор) и Onyx Magellan (подсветка, андроид, классный чехол). Оникс был куплен ради более нового экрана с подсветкой, ну и с андроидом хотелось поиграться — думал, что смогу там использовать gReader для чтения RSS. По факту был тотально разочарован — использовать там что-либо помимо предустановленного софта было совершенно невозможно. Отрисовка полноцветных приложений, предназначенных для нормальных экранов с нормальной отзывчивостью и цветопередачей на eInk — это жесть. Очень медленно, вплоть до невозможности использования, и практически нечитабельно (много цветов при выводе на eInk выглядят как один и тот же или близкий оттенок серого, в итоге элементы на скране сливаются, надписи абсолютно неконтрастны, и т.п.), я бы сказал — для поломки органов зрения. Поэтому в итоге пользовался только встроенной читалкой (кажется, CoolReader, специально оптимизированный под eInk). Выглядит норм, но скорость работы не впечатляет вообще. Отображение интерфейса, реакция на тач — всё это с дикими лагами. После пары лет работы Магеллан, к счастью, сломался, и я снова вернулся к Покетбуку. Какой же он шустрый! Доволен как слон. Воистину права народная мудрость — чтобы сделать человека счастливым, нужно отнять у него что-то, а потом вернуть.
Справедливости ради, хочу добавить, что у оникса была киллер-фича — очень качественный чехол в комплекте (сейчас чехлы вообще по-моему кроме Onyx никто в коробку не кладёт), и в чехол встроен магнитик, а в сам ридер — датчик, в итоге ридер автоматически засыпает при закрытии чехла, и включается при открытии. Вот это было супер-удобно!
Подумываю о том, чтобы снова купить современный ридер с подсветкой и тач-скрином, но Андроид не возьму 100% — наелся. Поглядываю на Kindle Oasis или что-то подобное — форм-фактором весьма похож на PocketBook 360 — удобно держать как в левой, так и в правой руке (симметричен относительно горизонтальной оси), и офигеннейший металический корпус. Но дорогой, собака, и смущает что это Киндл (возиться со всякими перекодировками и облачными сервисами, фу).
Статью воспринял как рекламу Onyx. Право на жизнь имеет, но своё мнение я уже высказал, второй раз покупать желания в целом нет.
По futures наверно рановато писать, пусть стабилизируют там всё. А вот сделать хороший обзор библиотек навроде Rayon и Crossbeam, наверно, не помешает.
Кстати, может этим и объясняется буст при переходе от 0.99 к 0.98? В первом случае бонус за гол всё же иногда перекрывался обычными бонусами в более длинных траекториях, а при 0.98 обычных бонусов уже гарантированно перестало хватать.
благодаря затуханию, те, где гол случается позже, получат меньший score
Вот тут не совсем понятно. Допустим, есть две траектории, обе приводят к голу. Первая длиной 10 тиков, вторая длиной 20 тиков. Несмотря на то, что бонус за гол во второй траектории будет взят с меньшим коэффициентом, общая оценка второй траектории будет из 20 слагаемых, тогда как оценка первой траектории только из 10 слагаемых. Не получится ли так, что оценка второй траектории будет выше просто из-за большего числа слагаемых?
Вообще, интуитивно кажется, что сравнивать оценки, состоящие из разного количества слагаемых, как-то неправильно.
Не могли бы прокомментировать по поводу выбора функции оценки: «Сумма score-ов на каждом тике с затуханием на 2% в тик.»? Почему именно сумма, а не, например, оценка финального положения? Почему именно такое затухание? Пробовали ли какие-то другие варианты, и как оно было в сравнении с текущим?
Где "остальные оценки" имеют веса ниже 0.1 и в процессе прикручивания нейросети не изменялись. Они тут для того, чтобы несколько вариантов развития событий, где роботы не взаимодейтствуют с мячом (а следовательно оценка мяча в этих вариантах будет идентичной), а, скажем, пытаются бежать в разные точки, можно было адекватно оценивать и сравнивать.
Как видно, здесь оценивается на 90% позиция мяча по оси Z (чем ближе к воротам соперника — тем лучше) и на 10% скорость мяча по оси Z (чем быстрее летит в сторону ворот соперника, тем лучше).
Соответственно, когда прикручивал нейронку, то заменил (0.9 * metric_pos) + (0.1 * metric_vel) на то, что возвращает нейронка (оно вроде как тоже приведено к диапазону примерно -1..1 что мне подходит).
При сравнении прогнал штук 10-15 игр. Тенденцию понять вроде хватило.
Сейчас вы отбираете случаи, когда мяч попал в ворота, от этого момента отматываете назад 5 секунд, и условно говоря начинаете учить сетку тому, что до гола осталось 5, 4, 3, 2, 1, 0 секунд. Можно поступить аналогично, искать моменты, когда произошла коллизия мяча со штангой либо с вратарём, и так же отмотав назад 5 секунд начать учить тому, что скоро НЕ БУДЕТ гола. Получится?
Кстати, ещё вопрос: а ведь за 5 секунд, предшествующие голу, могло произойти довольно многое, например мяч могли пасануть пару-тройку раз, то есть по факту только траектория от последнего паса до попадания в ворота имеет адекватную оценку, а предыдущие участки траектории, попавшие в эти 5 секунд, наверно получают совсем не ту оценку, которая была бы не будь этих последующих пасов. Как думаете?
Я, кстати, с целью потыкать палочкой нейронки (раньше руки не доходили, но всегда было интересно) взял вашу реализацию, и прикрутил к своей стратегии. У меня там изначально была оценочная функция, 90% веса в которой составляла как раз оценка позиции и скорости мяча — ровно того, что оценивает ваша нейронка. Заменил эту часть своей оценки вашей нейронкой, подошло идеально. Но результаты совсем не такие впечатляющие. В играх с изначальной версией не заметно, чтобы сила стратегии как-то увеличилась. В среднем игры заканчиваются с равным счётом, иногда с перевесом в 1-2 мяча в ту или иную сторону, поровну. То есть да, нейронка оценивает таки адекватно, ухудшений точно нет, но и улучшений что-то не видно. В среднем вроде бы играет как и предыдущая версия, ни о каких 75% побед речи нет. Проверить бы на сайте, с другими участниками, поднимется ли такая версия выше в рейтинге или нет, но песочница пока не работает, увы.
Как думаете, что могло пойти не так? Старый вариант этой оценки весьма примитивный — 80% это положение по оси Z, 20% — скорость по оси Z, и всё. В песочнице старый вариант стратегии болтается в районе 70-80 места, не очень высоко.
Возник ещё такой вопрос. В статье вы пишете, что обучаете сеть, скармливая ей обстановку на поле в моменты, предшествующие забитому голу. То есть обучаете её только на «положительных» примерах. А что насчёт контрпримеров? Не было бы плюсом добавлять к обучающим данным, например, отбитые мячи, когда гол мог бы быть, но не случился? Не улучшило ли бы это качество оценки? Иными словами, сейчас сеть выдаёт степень соответствия текуще ситуации той, которая благоприятна для забития гола, а было бы — именно оценка ситуации с точки зрения плохо/хорошо. Как считаете?
Спасибо за ответ. Да, я действительно во всех отзывах сейчас наблюдаю мнение, что после неких патчей в прошлом году андроид-прошивки для Onyx стали более экономичными в плане батареи. Но в целом конкретно этот момент меня не так сильно расстраивал (даже в том "прожорливом" варианте одной зарядки вполне хватало на неделю-полторы, что лично мне в общем-то достаточно; да, конечно покетбук держит полтора два месяца на полусдохшем аккумуляторе — это приятно, но совершенно не критично). Время перерисовки страницы тоже очень сильно зависит от. Простенькие FB2-книжки будут листаться мгновенно на любом ноунейм-китайце, скорость будет упираться в скорость обновления самого экрана. Ну а тяжёлые PDF-документы рисуются везде подолгу, увы. Режим А2 — это, видимо, быстрая отрисовка в 2 цветах, без оттенков серого? Я пробовал включать этот режим на Магеллане — ну полный же атас, вообще невозможно смотреть без слёз. Есть подозрение, что этот режим придуман не программистами, а сделан по заказу маркетологов, чтобы можно было в пресс релизе написать "время обновления страницы 160мс" и при этом их не обвинили бы в прямом обмане. В своём отзыве выше про скорость работы я, в первую очередь, имел ввиду именно общее впечатление от ежедневной работы с устройством. Прошивка на голом линуксе (такая как в покетбуках) не производит ощущение тормозной, даже с учётом медленной прорисовки eInk. Например, быстрое меню, состоящее из 8 расположенных по кругу (точнее, по квадрату) малюсеньких пиктограмм появляется в центре экрана почти мгновенно. Да, это меню очень маленькое, крошечное по площади, и пиктограммы там мелкие и некрасивые — но оно отрисовывается почти мгновенно, как раз из-за малой площади, и это самое главное для юзабилити. На том же ониксе всплывающее меню внизу экрана, которое по площади занимало, кажется, треть экрана или типа того, рисуется уже некомфортно долго, и при перемещении курсора по нему постоянно моргает и всячески бесит. Огромная полоса настройки яркости, к примеру, тоже выглядит может и красиво, но пользоваться ей неудобно как раз из-за лагов. Подозреваю, что андроид тут серьёзно усугубляет ситуацию, т.к. даже на недорогих телефонах с "мгновенным" TFT-экраном андроид-интерфейс некомфортно тормозит и лагает, а начинку этих ридеров я бы сравнивал именно с начинкой недорогих китайских телефонов. Так что нет. Хорошая попытка, но нет. Никаких больше андроидов. Буду заказывать Kindle Oasis, уже почитал на него обзоры и только укрепился во мнении, что там, наконец, сделали действительно удобное с точки зрения юзабилити устройство. Жаба жабой, а удобство удобством. Будет мой первый киндл, там посмотрим.
Справедливости ради, хочу добавить, что у оникса была киллер-фича — очень качественный чехол в комплекте (сейчас чехлы вообще по-моему кроме Onyx никто в коробку не кладёт), и в чехол встроен магнитик, а в сам ридер — датчик, в итоге ридер автоматически засыпает при закрытии чехла, и включается при открытии. Вот это было супер-удобно!
Подумываю о том, чтобы снова купить современный ридер с подсветкой и тач-скрином, но Андроид не возьму 100% — наелся. Поглядываю на Kindle Oasis или что-то подобное — форм-фактором весьма похож на PocketBook 360 — удобно держать как в левой, так и в правой руке (симметричен относительно горизонтальной оси), и офигеннейший металический корпус. Но дорогой, собака, и смущает что это Киндл (возиться со всякими перекодировками и облачными сервисами, фу).
Статью воспринял как рекламу Onyx. Право на жизнь имеет, но своё мнение я уже высказал, второй раз покупать желания в целом нет.
Кстати, может этим и объясняется буст при переходе от 0.99 к 0.98? В первом случае бонус за гол всё же иногда перекрывался обычными бонусами в более длинных траекториях, а при 0.98 обычных бонусов уже гарантированно перестало хватать.
Вот тут не совсем понятно. Допустим, есть две траектории, обе приводят к голу. Первая длиной 10 тиков, вторая длиной 20 тиков. Несмотря на то, что бонус за гол во второй траектории будет взят с меньшим коэффициентом, общая оценка второй траектории будет из 20 слагаемых, тогда как оценка первой траектории только из 10 слагаемых. Не получится ли так, что оценка второй траектории будет выше просто из-за большего числа слагаемых?
Вообще, интуитивно кажется, что сравнивать оценки, состоящие из разного количества слагаемых, как-то неправильно.
Не могли бы прокомментировать по поводу выбора функции оценки: «Сумма score-ов на каждом тике с затуханием на 2% в тик.»? Почему именно сумма, а не, например, оценка финального положения? Почему именно такое затухание? Пробовали ли какие-то другие варианты, и как оно было в сравнении с текущим?
Спасибо.
Было примерно так:
Где "остальные оценки" имеют веса ниже 0.1 и в процессе прикручивания нейросети не изменялись. Они тут для того, чтобы несколько вариантов развития событий, где роботы не взаимодейтствуют с мячом (а следовательно оценка мяча в этих вариантах будет идентичной), а, скажем, пытаются бежать в разные точки, можно было адекватно оценивать и сравнивать.
Как видно, здесь оценивается на 90% позиция мяча по оси Z (чем ближе к воротам соперника — тем лучше) и на 10% скорость мяча по оси Z (чем быстрее летит в сторону ворот соперника, тем лучше).
Соответственно, когда прикручивал нейронку, то заменил
(0.9 * metric_pos) + (0.1 * metric_vel)
на то, что возвращает нейронка (оно вроде как тоже приведено к диапазону примерно -1..1 что мне подходит).При сравнении прогнал штук 10-15 игр. Тенденцию понять вроде хватило.
Кстати, ещё вопрос: а ведь за 5 секунд, предшествующие голу, могло произойти довольно многое, например мяч могли пасануть пару-тройку раз, то есть по факту только траектория от последнего паса до попадания в ворота имеет адекватную оценку, а предыдущие участки траектории, попавшие в эти 5 секунд, наверно получают совсем не ту оценку, которая была бы не будь этих последующих пасов. Как думаете?
Как думаете, что могло пойти не так? Старый вариант этой оценки весьма примитивный — 80% это положение по оси Z, 20% — скорость по оси Z, и всё. В песочнице старый вариант стратегии болтается в районе 70-80 места, не очень высоко.
Для полного счастья осталось только выложить те 12 + 5.7 Гб логов, что использовались при обучении, для желающих повторить/поиграться. Сделаете?