0 / 0 / 0
Регистрация: 16.03.2020
Сообщений: 5
1

Самообучающиеся ИИ

29.03.2020, 19:50. Показов 1784. Ответов 32

Author24 — интернет-сервис помощи студентам
День добрый. Возник такой вопрос к знающим людям. Если создать программу которая бы записывала и пременяла полученные данные. То есть при получении данных запоминалось какие данные и при каких обстоятельствах были записаны, после при схожих обстоятельствах эти данные использовались.
Пример многопользовательская игра в которой есть пве режим , программа записыва ет действия игроков и ситуации в которых они так поступили. Применяя в последствии лучший результат.
Вопрос можно ли создать такую программу, и будет ли она работать? Если будет то дайдет ли до того что ее нельзя будет обыграть. Или почти нельзя.?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2020, 19:50
Ответы с готовыми решениями:

Самообучающиеся боты
Здравствуйте Обычно это ассоциируется с играми, но не только Я не спрашиваю о...


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

Или воспользуйтесь поиском по форуму:
32
1 / 1 / 0
Регистрация: 07.01.2019
Сообщений: 45
27.04.2020, 23:12 21
Author24 — интернет-сервис помощи студентам
Зачем Вы так нервничаете? Меньше эмоций, больше фактов. Не нравится что пишут, хмыкнете, матернитесь и забудьте.
Я вижу что тему, первый пост начал совсем еще начинающий. Начинающим надо много читать и экспериментировать. Опять же обращаюсь к книге Франсуа Шолле. Нет смысла начинать эту тему, если вы не обладаете графической картой поддерживающий CUDA, не знаете Linux.Не имеете математической подготовки. Лучше поставить IDE PyCharm, разобраться как работать с GIT. Надо помогать людям, быть терпеливее.
0
20 / 21 / 2
Регистрация: 09.04.2020
Сообщений: 125
27.04.2020, 23:24 22
Цитата Сообщение от Nail1959 Посмотреть сообщение
Нет смысла начинать эту тему, если вы не обладаете графической картой поддерживающий CUDA
Цитата Сообщение от Nail1959 Посмотреть сообщение
Лучше поставить IDE PyCharm
Я понимаю что пайтон популярен и хипстерен, но если вопрос производительности стоит остро, может начинать всё сразу в c/c++/rust?
0
1 / 1 / 0
Регистрация: 07.01.2019
Сообщений: 45
27.04.2020, 23:39 23
Python выполнен как обертка функций написанных на C и Fortran. И есть интерпретаторы которые называется CPython JPython. Второй на Java. Сила Python в большом количестве библиотек, которые свободно доступны для установки. И производительность в машинном обучении заключается в использовании библиотеки Tensorflow компании Google использовать графические и сейчас уже тензорные ядра графических процессоров. В основе всего и работают программы на С. С это язык системного программирования, чуть выше чем ассемблер. История С началась давно, сперва был язык B,
операционные UNIX системы написаны на C. На языке C я писал программы в 1985 году.
0
20 / 21 / 2
Регистрация: 09.04.2020
Сообщений: 125
28.04.2020, 00:00 24
Nail1959, спасибо за экскурс. Я, что называется, "в теме". Последний пайтон, который я смотрел исходники, был вроде 3.3, и там был чистый сиплюсплюс. Тем не менее бенчмарки показывают резкое падение производительности пайтон в сравнении с перечисленными ЯП. Отсюда и моё недоумение. Тем более тот же tensorflow по сути есть C API, а из пайтона дерается посредством FFI. Да, я понимаю, пайтон богат на плюшки и относительно прост. Но он же жарит яйца на ЦПУ, а это не вяжется с high performance приложениями, наверняка еще и распараллеленными.

Добавлено через 1 минуту
Цитата Сообщение от Nail1959 Посмотреть сообщение
операционные UNIX системы написаны на C
я сейчас тут:
Bash
1
2
% uname -ro
FreeBSD 12.1-STABLE
0
1 / 1 / 0
Регистрация: 07.01.2019
Сообщений: 45
28.04.2020, 00:05 25
Сейчас я использую 3.6 и 3.7. В основе всего все в машинных кодах Выше ассемблер, потом С, потом С++
В основе ОС, библиотек - С. Но писать все на нижнем уровне, жизни не хватит. Это мне надо все с нуля написать???
Поставил анаконду, постоянно обновляю conda update --all. Я использую распараллеливание на Python.
0
20 / 21 / 2
Регистрация: 09.04.2020
Сообщений: 125
28.04.2020, 00:44 26
Nail1959, вы отвечаете в духе "очевидная очевидность". Во-первых, плюсплюс был "не торт" 20-10 лет назад, а сейчас - торт. Высокоуровневый, хоть и коряво спроектированный, но уже вырос из уровня 2003 года. Во-вторых недавно бомбанул rust, который позиционируется как язык системщиков и соответствует. На сях много абстракций не нарисуешь, здесь я не спорю. Но зачем дико тормозящий пайтон и какое отношение он имеет к CUDA, когда в CUDA играют на c, c++? Еще. Зачем Linux, если драйвера стабильно пишутся для windows, а linux рассматривается как вторичная ветка самими nvidia? Драйвера от nvidia в большинстве случаев просто валят графику в linux, пользователям приходится ставить реверсные открытые с урезанным к железу доступом чтобы запустить/восстановить работу иксов.
P.S. Пока писал мне пришла в голову мысль. Хоть я и не сторонник теорий заговоров, но подозреваю что обилие литературы "ИИ с использованием пайтон" выгодно продавцам вычислительных мощностей. Я сейчас об аренде облаков/серверов говорю. Это не в хардверный огород камень.
0
645 / 521 / 72
Регистрация: 20.09.2014
Сообщений: 3,353
28.04.2020, 03:41 27
Просто Пайтон очень хорошо заточен под обработку структурированных и неструктурированных данных, коей работы в машинном обучении немало. Взять тот же С++, он очень невыразителен в этом плане. Нету списков, кортежей, генераторов, словарей. Вызовы функций не столь развиты. Чего еще?
То есть вы напишете код на обоих языках, но в С++ будет вдвое-впятеро хуже читабельность. А это очень критично для ML и прочих математических и статистических приложений.
А библиотеки Пайтона? Ммм, конфетка! И это все заслуги самого Пайтона.

Добавлено через 3 минуты
Цитата Сообщение от Nail1959 Посмотреть сообщение
Зачем Вы так нервничаете? Меньше эмоций, больше фактов.
Я не нервничаю. Просто заполняю людям пустоты в головах.
0
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,469
28.04.2020, 12:04 28
По поводу производительности.

Лет 10 тому назад участвовал в конкурсе. Моя программа на C# показала лучшее время, хотя большинство участников писали на С++. Задача вычислительная. Как выяснилось, все использовали один и тот же алгоритм. Видимо, я чуть более оптимально его реализовал. Для работы с длинными числами я, как и все, использовал сишную библиотеку (GMP).

Мораль:
Программа на C# работает так же быстро, как программа на С++... если практически всё процессорное время занимают вычисления внутри написанного на Си кода.
0
1 / 1 / 0
Регистрация: 07.01.2019
Сообщений: 45
28.04.2020, 12:27 29
Цитата Сообщение от Shamil1 Посмотреть сообщение
Мораль:
Программа на C# работает так же быстро, как программа на С++... если практически всё процессорное время занимают вычисления внутри написанного на Си кода.
То же самое и про Python. Все вычисления выполняются фактически в C и Fortran.
Но как то от темы отклонились. Это уже не к этой ветке, а к веткам по языкам программирования.
0
20 / 21 / 2
Регистрация: 09.04.2020
Сообщений: 125
28.04.2020, 14:57 30
Ну в целом я понял.Тензорный анализ, высшая алгебра уже написаны и оптимизированы, предоставлены в свободное пользование. А книжки описывают как всё это дело дергать из python. Общеизвестный факт, что I/O операции медленны сами по себе, SSD ситуацию немного улучшили. Сколько процентов работы занимают I/O операции? Если много, то может есть смысл вынести их в кернелспес?
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Просто Пайтон очень хорошо заточен под обработку структурированных и неструктурированных данных, коей работы в машинном обучении немало. Взять тот же С++, он очень невыразителен в этом плане.
Тут я не совсем понял. Вы сейчас о преимуществах динамики над статикой или о чем вообще? Какая связь между заточенностью для обработки данных и выразительностью языка?
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Нету списков, кортежей, генераторов, словарей.
В python списки по факту массивы ибо доступ О(1). Вообще в плюсплюс полно разнообразных структур данных искаропки. Допустим сопостваим пайтон спискам плюсовые массивы (контейнер array), кортежам - контейнер вектор, ассоциативным массивам - контейнер map. Ну генераторы конечно же есть. И вообще плюсы на структуры данных побогаче. Но я так понял что вас останавливает не это, а что-то другое - нам не известное.
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Вызовы функций не столь развиты.
Тут я не понял. Приведите примеры развитых и недоразвитых вызово функций.
Цитата Сообщение от Mikhaylo Посмотреть сообщение
А библиотеки Пайтона? Ммм, конфетка! И это все заслуги самого Пайтона.
По моему вы обманываете либо себя, либо публику. Библиотеки python пишутся как раз не на python, как и сам python и все другие языки. Насколько я знаю (поправьте, если ошибаюсь) python в bootstrap не умеет.
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Просто заполняю людям пустоты в головах.
Я решил порыться в своей библиотеке и нашел парочку занимательных книг по теме. Помогите мне определиться с вобором для занятия в ближайшем будущем:
- Рашевский П.К., Риманова геометрия и тензорный анализ
- Акивис М.А., Гольдберг В.В., Тензорное исчисление
- Векуа И.Н., Основы тензорного анализа и теории ковариантов
- Коренев Г.В., Тензорное исчисление
- Сокольников И.С., Тензорный анализ
Мне интересно ваше мнение, как специалиста.
0
1 / 1 / 0
Регистрация: 07.01.2019
Сообщений: 45
28.04.2020, 15:06 31
По поводу тензорного анализа
Опять же ссылаюсь на книгу того же Шолле. Tensorflow никакого отношения к математическим тензорам отношения не имеет.
Просто под тензороми понимаются матрицы как операторы преобразования. Поток, конвейер матриц, которые воздействуя на входной вектор преобразует его дает на выходе другой вектор. Это просто преобразование данных, фильтрация. В общем для ИИ нет необходимости изучать тензорный анализ.
1
645 / 521 / 72
Регистрация: 20.09.2014
Сообщений: 3,353
28.04.2020, 15:13 32
Цитата Сообщение от freevoyajer Посмотреть сообщение
Какая связь между заточенностью для обработки данных и выразительностью языка?
Как думаешь, так и программируешь. Многие думают математически, поэтому это вери гуд.

Как-то решали одну и ту же задачу, потом показывали друг другу код на Пайтоне и каждый удивился, как можно проще написать те или иные фрагменты кода: у одного лучше одна часть, у другого - другая. Много синтаксического сахара, как у JavaScript.

Вызов функций:
y = f(a, x1=1, x2=true, x3 = b), то есть как это называется? Позиционные/непозиционные, опциональные/неопциональные, анонимные/неанонимные (именованные/неименованные) аргументы?

Добавлено через 1 минуту
Цитата Сообщение от freevoyajer Посмотреть сообщение
Мне интересно ваше мнение, как специалиста.
Тензоры - это обобщенный случай матрицы. На практике это ненужно. Если хотите потренировать мозг тензорным исчислением, то пожалуйста. Надо много запоминать и без практики это просто тренировка.
1
20 / 21 / 2
Регистрация: 09.04.2020
Сообщений: 125
28.04.2020, 15:20 33
Цитата Сообщение от Nail1959 Посмотреть сообщение
В общем для ИИ нет необходимости изучать тензорный анализ
Ограничимся верятностью и статистикой уровня мехмата? Ассимптотика, возмущения нам понадобятся? Или достаточно научиться как в книге дергать scipy, numpy? Ну как дрессированная обезьянка, верно? =)

Добавлено через 5 минут
Цитата Сообщение от Mikhaylo Посмотреть сообщение
y = f(a, x1=1, x2=true, x3 = b), то есть как это называется?
Это вы еще lisp не познали. Такой выразительности, простоты и широты возможностей как в lisp вы неувиите нигде и никогда.
Mikhaylo, Nail1959, спасибо вам за ответы и потраченное на меня время.
0
28.04.2020, 15:20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru