首页 文章

神经网络能否学习功能?以及如何为模式识别选择更好的特征描述符?

提问于
浏览
1

我正在开发webots,这是一个用于建模,编程和模拟移动机器人的环境 . 基本上我有一个带VGA摄像头的小型机器人,它在小乐高迷宫的白色墙壁上寻找简单的蓝色图案并相应地移动

我在这里使用的方法是

  • 从网站获取图案的图像并将其保存在PC中的某个位置 .

  • 检测蓝色图案,形成一个包围图案的正方形,图案的至少2个边缘是正方形边界的一部分 .

  • 将其大小调整为7x7矩阵(使用最近邻插值算法)

  • 网络的输入只是每个7x7图像的红色像素强度(当我通过红色滤镜看蓝色像素时,它看起来是黑色的) . 提取每个像素的强度,然后将7×7矩阵转换为1D向量,即1x49,这是我对神经网络的输入 . (我选择这个特性作为我的输入,因为使用C和webots访问这些信息“相对”不那么困难 . )

我使用MATLAB进行这种离线训练方法,我使用较慢的学习率(0.06)来确保参数收敛并在大型和小型数据集上分别进行测试(分别为1189和346) . 在我尝试过的无数次中,网络无法对模式进行分类 . (它表示该模式属于所有4个类!!!!) . 程序没有任何问题,因为我在matlab中的simpleclass_dataset上测试了它,它几乎完美地运行

由于数据非常糟糕,神经网络是否有可能无法学习该功能? (由于数据不佳,我的意思是对应于一个类的一个样本的数据点非常接近属于不同类或类别的另一个样本) . 或者由于非常差的特征描述符,神经网络会失败吗?

任何人都可以建议一种更简单的方法从图像中提取特征(我现在转向MATLAB,因为我现在只关注网络中的模拟而不是真正的机器人) . 我可以选择哪种功能?图案非常简单(L,倒L,其反射版本是4种模式)

1 回答

  • 0

    神经网络 CAN 无法学习函数;这通常是由于使用网络拓扑来 Build 必要的功能 . 这种情况的一个典型例子是试图学习XOR function using a perceptron classifier,虽然它有时甚至可能发生在多层神经网络中;尤其适用于图像识别等复杂任务 . 请参阅我的previous answer以获取有关如何选择神经网络参数的粗略指南(如果需要,请忽略卷积内容,但如果您仍然遇到问题,我会强烈建议您查看convolutional neural networks) .

    可能的是,类之间的可分离性太小,尽管我怀疑鉴于您当前的功能是这种情况 . 您的网络是否需要同时允许图像分为四个类别?如果没有,那么也许您可以将输入分类为具有 highest 激活的输出,而不是具有高激活的 all .

相关问题