Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
9 / 9 / 0
Регистрация: 16.03.2014
Сообщений: 138

Использование машинного обучения для мобильных устройств

05.02.2019, 16:10. Показов 1774. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Продолжаю делать игру на Android которая является помесью крестиков ноликов и GO.
Играют несколько игроков от двух и более. У каждого своя фигурка. Игроки по очереди совершают ход, а именно ставиться своя фигурка сначала рядом с первой а потом в следующие ходы можно ставить только с одной из тех что была ранее поставлена. Смысл игры перекрыть ходы противника, создать для себя буферные зоны и благодаря этому набрать больше фигурок чем у противника. Когда у противника закончатся клетки для ходов он проиграл. Карта тоже каждый раз чертиться новая но в моей игре она не может быть больше чем 30х30 для примера.. Размеры там немного другие но не в этом суть...
Сегодня порыл на тему можно ли использовать в своей игре ии вместо алгоритма написанного мной.
Так как:
1) Меня давно интересует тема нейронных сетей
2) Я не знаю как толком описать порядок ходов компьютеру чтобы он хотя бы создавал видимость подобия интеллекта))

Почитал статьи на тему можно ли использовать натренированную нейросеть на Android. Кто-то пишет что тормозить будет и Android для этого не подходит
А вот здесь например говорят что вроде можно https://www.youtube.com/watch?v=BYpiet2swrI
У меня пошаговая игра так что здесь скорость обдумывания ходов не так важна.
Вот хочу спросить совета стоит ли сейчас связываться с машинным обучением в частности с нейросетями или лучше как не будь в ручную компьютерного противника всё таки написать?

Если стоит откуда лучше начать копать?

Добавлено через 3 минуты
Интересует любой тип машинного обучения не только нейросети но и генетичесский алгоритм и обучение с подкреплением и любые другие какие есть если они лучше подходят для этого... Хотя нейросети всё-таки интереснее)

Добавлено через 9 минут
Вот например нашёл пример под мобильную платформу на генетичесских алгоритмах https://www.youtube.com/watch?v=SfEZSyvbj2w
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.02.2019, 16:10
Ответы с готовыми решениями:

Реализация управления для мобильных устройств
Всем привет. Надеюсь здесь мне помогут, уже 2-ой день мучаюсь с реализацией управления под мобильные устройства. Хочу сделать управление...

Ищу людей для совместного обучения в области машинного обучения
Пишу на питоне посредством библиотеки keras. Было бы неплохо, например, работать над одним проектом, благо идей полно.

Датасет для машинного обучения
Надо написать программку, которая по фотографии будет определять заболевание глаза или говорить, что глаз здоров. Если кто знает, как...

6
2744 / 1670 / 269
Регистрация: 19.02.2010
Сообщений: 4,421
05.02.2019, 17:41
Цитата Сообщение от SERG__ZV Посмотреть сообщение
Почитал статьи на тему можно ли использовать натренированную нейросеть на Android. Кто-то пишет что тормозить будет и Android для этого не подходит
Можно.
Последние года 3 идёт достаточно активный поток работ по изобретению вычислительно эффективных глубоких нейросеток (это для задач распознавания-анализа картинок). Именно для возможности затем гонять обученную нейросетку на мобилках и на дронах.
Т.е. даже при входах=картинках в несколько сотен пикселей по вертикали и горизонтали (сравните с Вашими картами 30*30 - суммарная разница будет в 2-3 порядка) вычислительных проблем для "боевой работы" обученной системы нет. Поэтому и мелкоразмерные задачи тоже по силам.

Ну и многое зависит от программирования - от того, умеет ли кодер писать быстрые вычислительные программы. Как для старых вариантов нейросеток - так и для свежака. Разница в скорости между "наивным" кодом (излишне заООПленный, скалярные расчёты и т.д.) и эффективным (SIMD и прочий анроллинг циклов, специальная вычисл.алгоритмика для сокращения числа чтений из памяти,...) - составляет тоже около пары порядков.

Т.е. тормоза - они у тех, кто берёт не те нейроархитектуры и/или нормально программировать не умеет


Просто я не могу посоветовать нейробиблиотеку, работающую и с Андроидом тоже (вдобавок к работе на интел-совместимом железе, чтобы на нём (или на видюхе) обучать - а затем на дроид ставить уже обученную сетку) - ибо не интересуюсь ни кодингом под андроид, ни чужими нейробиблиотеками (у меня свои собственные, которые чужих уделывают именно по скорости).
1
9 / 9 / 0
Регистрация: 16.03.2014
Сообщений: 138
05.02.2019, 23:03  [ТС]
Сасибо значит буду потихоньку копать в эту сторону... Если кто знает что именно для мобилок подойдёт, то всё ещё нужны советы..

Добавлено через 2 часа 17 минут
Хотя если вдуматься в ваш коментарий то новчикам которые не знакомы с нейросетями на мобилках делать нечего и надо изучать это всё на долго сначала на компьютере и только потом на мобилки переходить и хорошенько это всё оптимизировать..

Добавлено через 42 минуты
С другой стороны я смотрел обучающие видео про то что такое нейросеть и как она работает и напиать свою простенькую нейростеь кажеться не таким уж сложным делом..

Добавлено через 32 минуты
Хотел ещё спросить это возможно на языке С# или придёться питон или ещё какой не будь язык учить для нейросетей?
0
2744 / 1670 / 269
Регистрация: 19.02.2010
Сообщений: 4,421
05.02.2019, 23:52
Лучший ответ Сообщение было отмечено SERG__ZV как решение

Решение

Цитата Сообщение от SERG__ZV Посмотреть сообщение
и надо изучать это всё на долго сначала на компьютере и только потом на мобилки переходить и хорошенько это всё оптимизировать.
Нет, надо изучать современные нейросетевые библиотеки. Там уже всё готово. Т.е. на надо кодить всё с самого начала - можно брать готовую библиотеку и использовать.
Просто в этих библиотеках акцент сделан на использовании зелёных видеокарт для расчётов. А если на процессоре считать - то может требоваться полноценный (т.е. не только огрызки-Атомы могут исключаться, но и Селероны-Пентиумы, ибо у них нет AVX-команд).
Библиотеки эти - внутри себя юзают другие вычислительные библиотеки. OpenBLAS/MKL для процессоров и CUDA/CuDNN для видюшек. Т.е. математика берётся уже готовой=оптимизированной, а нейробиблиотека организует-добавляет только нейросетевые абстракции и высокоуровневые алгоритмы (Вам тоже никто не мешает взять какую-то готовую библиотеку для векторно-матричных операций и написать над ней набор нейросетевых классов).
Ну а ARM как процессор - это уже не везде (где - не знаю), и будет в самую последнюю очередь рассматриваться в качестве целевой платформы.
Соответственно, и примеры вычислительно экономичных глубоких нейронок - вполне могут в дистрибутив библиотеки не включаться. Их, может быть, придётся искать на гитхаб-страничках авторов научных статей (авторы код реализации их нейронок с помощью тех или иных библиотек часто выкладывают на гитхаб), или сооружать врукопашную из библиотечных функций/модулей (после предварительного прочтения буржуинской научной публикации и понимания, как же тамошняя нейронка устроена).
Да и время выполнения на АРМе (при сравнениях-тестах) никто не меряет. Обычно сопоставляют (при сравнении с какой-то старой "эталонной" нейросеткой) только число параметров (т.е. объёмы памяти под коэффициенты модели - но не под её промежуточные результаты расчётов), и число математических операций типа FMA (fused multiply-add, перемножение двух чисел и добавление получившегося произведения к третьему числу=сумме, ибо это основной объём вычислений внутри нейронки). Т.е. никакого ориентира в секундах (или милли/микросекундах) для АРМа - взять будет неоткуда. Тем более, что и сами АРМовские ядра - они тоже сильно разные по производительности бывают.

Цитата Сообщение от SERG__ZV Посмотреть сообщение
напиать свою простенькую нейростеь кажеться не таким уж сложным делом..
Но Вы-то пока ещё не знаете, какую именно Вам нейронку (или не нейронку) надо?
Ибо у Вас ещё задача пока ещё чётко не поставлена - чтобы её метод решения аргументированно и целенаправленно выбирать.
Хотя, вполне может в итоге оказаться, что в Вашей задаче даже у "наивного" кода будет вполне достаточная производительность. А я Вас тут пугаю

Цитата Сообщение от SERG__ZV Посмотреть сообщение
Хотел ещё спросить это возможно на языке С#
Можно, берите майкрософтовский CNTK.
Но разве MS позволяет разрабатывать под мобилки, т.е. под ARM? (я просто с С# дела никогда не имел)
1
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
06.02.2019, 11:09
VTsaregorodtsev, ну так шарп в юнити - это моно

Добавлено через 38 секунд
Не самый свежий, конечно, но с# 7 уже работает
0
9 / 9 / 0
Регистрация: 16.03.2014
Сообщений: 138
06.02.2019, 21:05  [ТС]
Да неее я недавно попробовал применить автоматичесское свойство но только с get без set. А компилятор мне говорит что такие свойства только в 4 версии С# появились. Так что в Unity только 2 или 3яя весрия до сих пор используеться(

Добавлено через 5 минут
VTsaregorodtsev
Пишу игру на юнити для андроид всё нормально работает в unity специально аомпилятор для него есть. Пишешь просто обычную игру компилируешь для андроид и вуаля всё работатет. Едиснственную разницу заметил с тем что сериализация в разные папки происходит с этим помучаться пришлось и некоторые команды что работают на компе не срабатывают на телефоне а так пишеться в основном так же.. Одну игру училься тоже делал это была копия пекмена уже лежит на GooglePlay правда в неё никто не играет)) Один кто-то установил и удалил сразу же.
Если считаете что лучше начать с поиска готовых библиотек то думаю с этого лучше сначала и начну как только освою теорию и попробую хотя бы маленькую нейросеть по урокам для обучения змейки или ещё чего написать просто чтобы разбираться что к чему а дальше поищу готовые сети. Ну а если не найду ничего буду думать как самому писать..
Спасибо за совет

Добавлено через 2 часа 2 минуты
Кстати сегодня статью на хабре читал там была ссылка на видео где сотрудник компании (Microsoft) помоему или гугл расказывал что их нейросеть на телефоне различает фотографии птиц и говорит даже какая это птица стоит только навести на птицу камеру. Только я вот не понял телефон сам расчитывает или отправляет данные на сервер...
0
2744 / 1670 / 269
Регистрация: 19.02.2010
Сообщений: 4,421
06.02.2019, 21:56
Цитата Сообщение от SERG__ZV Посмотреть сообщение
Только я вот не понял телефон сам расчитывает или отправляет данные на сервер...
ХЗ. Любой вариант может быть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.02.2019, 21:56
Помогаю со студенческими работами здесь

Совет по выбору метода для машинного обучения
Есть физическая задача - моделирование статического поведения сложного стержня. Интересует поведение при разных длинах стержня. Задача...

Существуют ли методы машинного обучения для фреймов с массивами в ячейках?
Сабж, собственно. Имеется pandas dataframe с ячейками, значения в которых являются массивами. Существуют ли методы машинного обучения для...

Применение машинного обучения
Всем здравия! Я начинающий в области ML, поэтому прошу сильно не ругать) Читаю статьи, учебники, смотрю обучающие видео...и все...

Сайт для мобильных устройств
Господа здравствуйте излагаю суть проблемы: Сделал страницу голосования и обратной связи, на компе отлично открывается, на телефоне это...

AdSense для мобильных устройств
Кто-нибудь уже начал этой фичей в адесенсе пользоваться?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru