Pavlus, как успехи с искусственными нейронами? Что сейчас с ними делаешь? А то я вот застопорился на линейной алгебре, достал учебник, буду латать дыру в знаниях.
Alice Cooper, перцептрон написал, сейчас хочу сделать програмку- распознавалку букв на растре. Каждый перцептрон находит свой элемент(треугольник, окружность, горизонтальную прямую, вертикальную, косую и тп.) Все они передают информацию последнему нейрону, который вместо 1/0 выдает букву, если буква не найдена, то предложит ввести букву.
Pavlus, а как ты организуешь сеть? И как у тебя последний из элементов будет всё слаживать(из элементов буквы)? P.S. вроде понял, все нейроны, пройденные "сигналом" ранее, изменяют его(сигнал) в нечто состоящее из нулей и единиц. Этот сигнал имеет не сами исходные данные, а "заметки" сделанные нейронами, последний нейрон принимает ранние заметки и сравнивает с необходимыми. НО. Тогда тебе на выходе цепи нужны 26 нейронов, каждый, со своей буквой.
Alice Cooper, ты не понял. На экране будет сетка 16х8, например. В этой сетке каждая ячейка либо подсвечена, либо нет. Я передаю эту сетку ряду перцептронов, по-очереди. Каждый перцептрон обучен на свою часть, например есть в этом растре косая, или нет. Получаю массив данных, который указывает наличие или отсутствие таких элементов как окружность, вертикаль, горизонталь, косая тп. Допустим, если есть косая и только, то это, скорее всего, Л или Х, если есть косая и горизонталь, то это А, если косая и вертикаль, то, скорее всего И или Й, возможно М. Есть некоторые сложности, я не уверен в работоспособности системы целиком, но добавить проверок и жестких методов можно в любой момент
Alice Cooper, если букву не отгадал, то скормить растр каждому из соответствующих букве перцептронов. Хотя можно и сделать вектор с ними и каждый обучать. Так даже проще, наверно.
Что будет работать быстрее: несколько раз вызвать Graphics.drawRGB() или сделать массив int, все данные записать в него а потом один раз вызвать Graphics.drawRGB()?
20 авг 2010 в 11:03