Может ли нейронная сеть распознавать экран и воспроизводить конечный набор действий?

Я узнал, что нейронные сети могут воспроизводить любую функцию.

Обычно нейронная сеть снабжается набором дескрипторов для своих входных нейронов, а затем выдает определенную оценку своему выходному нейрону. Я хочу, чтобы моя нейронная сеть распознавала определенное поведение с экрана. Объекты на экране уже предварительно обработаны и хорошо видны, поэтому распознавание не должно быть проблемой.

Можно ли использовать нейронную сеть для распознавания пиксельной картинки экрана и принятия решений на этой основе? Количество обучающих данных было бы огромным, конечно. Есть ли способ научить ANN онлайн обучению под наблюдением?

Редактировать: потому что комментатор сказал, что проблема программирования будет слишком общей: я хотел бы сначала реализовать это в python, чтобы посмотреть, работает ли она. Если бы кто-нибудь мог указать мне на ресурс, где я мог бы сделать эту вещь онлайн-обучения с Python, я был бы благодарен.

2 ответа

Я бы предложил

http://www.neuroforge.co.uk/index.php/getting-started-with-python-a-opencv http://docs.opencv.org/doc/tutorials/ml/table_of_content_ml/table_of_content_ml.html http://blog.damiles.com/2008/11/the-basic-patter-recognition-and-classification-with-opencv/ https://github.com/bytefish/machinelearning-opencv

openCV - это, по сути, библиотека обработки изображений, но в ней есть несколько замечательных вспомогательных классов, которые вы можете использовать практически для любой задачи. Его модуль машинного обучения довольно прост в использовании, и вы можете просмотреть исходные тексты, чтобы увидеть объяснения и базовую теорию для каждой функции.

Вы также можете использовать чистую библиотеку машинного обучения на Python, например: http://scikit-learn.org/stable/

Но прежде чем вы подадите данные с вашего экрана (я предполагаю, что это в пикселях?) В ваш ANN, SVM или любой другой алгоритм ML, который вы выберете, вам необходимо выполнить "Извлечение возможностей" для ваших данных. (которые являются объектами на экране)

Функциональное извлечение можно рассматривать как представление тех же данных на экране, но с меньшим числом номеров, поэтому у меня меньше номеров, чтобы дать свой ANN. Вам нужно поэкспериментировать с различными функциями, прежде чем вы найдете комбинацию, которая хорошо подходит для вашего конкретного сценария. Пример может выглядеть примерно так:

[X1,y1,x2,y2,..., Col]

Это в основном список краевых точек, которые представляют область, в которой находится ваш объект. Это своего рода ROI (область интереса) и выполняет обнаружение egde, обнаружение цвета, а также извлекает любые другие соответствующие характеристики. Важно то, что теперь все ваши объекты, информация о их форме / цвете представлена ​​рядом этих списков, по одному для каждого обнаруженного объекта.

Это данные, которые могут быть предоставлены в качестве входных данных для нейронной сети. но вам придется определить некоторые значимые выходные параметры в зависимости от ваших конкретных формулировок проблемы, прежде чем вы, конечно, сможете обучать / тестировать свою систему.

Надеюсь это поможет.

Это не совсем правильно.

Трехслойная MLP с прямой связью теоретически может воспроизводить любую НЕПРЕРЫВНУЮ функцию.

Если есть разрывы, то вам нужен 4-й слой.

Поскольку вы имеете дело с пиксельными экранами и тому подобным, вам, вероятно, придется рассмотреть четвертый слой.

Наконец, если вы смотрите на круглые формы и т. Д., Сеть с радиальной базисной функцией (RBF) может быть более подходящей.

Другие вопросы по тегам