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

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

05.02.2019, 16:10. Показов 1749. Ответов 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
2627 / 1639 / 266
Регистрация: 19.02.2010
Сообщений: 4,350
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
2627 / 1639 / 266
Регистрация: 19.02.2010
Сообщений: 4,350
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
2627 / 1639 / 266
Регистрация: 19.02.2010
Сообщений: 4,350
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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru