cnn突破二(bpnet三层网络增加bias后,识别率没有下降)

news/2024/10/7 3:06:10 标签: cnn, 人工智能, 神经网络

增加bias后,刚开始,我的代码是这样写的,导致学习训练相同次数后,得分下降很厉害:

 //反向传播对w2【】进行更新 以及biasY【】更新
            for (int i = 0; i < p; i++)//128
                for (int j = 0; j < q; j++)//10
                {
                    q=10                
                    double delta = (yO[j] - d[j]) * dsigmoid(yO[j]) ;
                    w2[i, j] -= delta * learnRate * hO[i];
                    by[j]-=delta * learnRate ;
                }

           下面是正常后的代码,得分恢复到95分以上:

  for (int j = 0; j < q; j++)//10

{

double delta = (yO[j] - d[j]) * dsigmoid(yO[j]) ;

 by[j]-=delta * learnRate ;

for (int i = 0; i < p; i++)//128

{    

w2[i, j] -= delta * learnRate * hO[i];

}

}

虽然delta * learnRate是相同的,但包涵在不同的for循环中,执行的次数不一样,看是相同,结果不同。

这样的错误,计算机100%放过,编程人毫无觉察!

这样给我们了一种警示,或者说启示,现在的rust编程语言,不会有指针错误,但语言仍然不能严格的发现数学逻辑上的错误。

我们是不是让计算机编程进一步,变成数学编程语言,那么编程时,这个数学公式有严格定义,你就不可能犯上面的错误,这是一种方法,另一种方法就是,封装好,你去调用,也不会有这样的错误。

因为这个东西害我很久了,我毫无觉察!

其实近期并不想写博客,cnn编程突破是今年十一的最大成绩,我想有笔记和程序就可以了,再搬到csdn上,麻烦,写了那么多,也没什么反响!

但是,近期周围又有将要去世的人,看得见,却又留不住,三个月或半年吧!

我们都是赶路人,人生路上还是应该留些记号吧!比如孙悟空在佛祖五指山下,撒泡尿,做个记号!所以有些东西还是分享出来!

感谢机器视觉让我走上了人生正确的道路,机器视觉是从黑白开始的,我们应该接受人生的无常!

机器视觉,计算机视觉,机器学习,人工智能是紧密联系的,cnn就是人工智能的桥梁,做机器视觉很久了,当跨过cnn,有一种豁然开朗的感觉!

认知上又有了一些新的变化,其实2012年那个时候opencv和人脸识别已经大肆流行,我们搞机器视觉的没有不知道的,但我为什么坚持下来机器视觉?

现在打通了cnn桥梁,人工智能的算法也入了门,是不是我就去搞人工智能了呢?其实并不是,我现在好像更坚定机器视觉了!

为什么?你只要理解到人工智能会算命的一面,就够了,这就像我们古代的八卦的发明!但八卦不仅仅是算命!

可能我的观点保守偏激,但人工智能是时代潮流,作为逻辑数学一面的人工智能仍然可以辅助机器视觉,虽然机器视觉的高速,稳定,准确,ai谈不上,但是就像杨振宁说的,几何可以和代数相互验证,这就给物理提供了极大的便利。

我的感受是,c++编程和c#编程的相互验证,为我们解决问题提供了便利,机器视觉和ai一样可以相互验证,因为概率的ai和准确的机器视觉并不冲突。


http://www.niftyadmin.cn/n/5692390.html

相关文章

CentOS 7 系统中安装与配置 Telnet 服务详解(使用非root用户登录)

目录 前言1. 安装 Telnet 服务端1.1 更新系统软件源1.2 安装 Telnet 和 xinetd 2. 增加具有管理员权限的用户2.1 添加新用户2.2 配置 sudo 权限 3. 启动和管理 Telnet 服务3.1 启动服务3.2 设置服务自启动 4. 配置防火墙允许 Telnet 通信5. 配置 Telnet 服务6. 添加 pts/0 终端…

Ubuntu上FFmpeg的安装与使用完全指南

目录 引言FFmpeg简介在Ubuntu上安装FFmpeg 方法1: 使用官方仓库方法2: 使用PPA方法3: 从源代码编译 FFmpeg基本使用 视频转换音频提取视频剪辑添加水印 高级应用常见问题解决结语 引言 在当今数字时代,视频处理已成为许多领域不可或缺的技能。无论是内容创作、直播还是视频编…

C++的STL标准模版库容器--list类

前言 list(双向链表)类属于STL标准模版库容器模块&#xff0c;它的迭代器是双向迭代器&#xff0c;也比较好理解&#xff0c;它申请空间不是一次申请一块空间而是每一个节点各自独立的空间&#xff0c;它不再能够支持随机访问和[]&#xff0c;如果想要和string类容器或者vecto…

【React】setState 批量更新

setState 批量更新的过程 React 的 setState 调用是异步的。为了性能原因&#xff0c;React 会将多个 setState 调用合并成一次批量更新。具体过程如下&#xff1a; 1&#xff09;React 先将调用的每个 setState 所产生的更新对象存储在一个队列中。 2&#xff09;在所有的同步…

Windows如何通过增加虚拟RAM来提高计算机的速度

其实在小内存时代&#xff0c;调整缓存页面文件大小是常见的运维提高计算机效能的手段&#xff08;在没有实质性硬件改变的情况下&#xff09;。而且&#xff0c;按照这些简单步骤来增加你的虚拟RAM&#xff0c;让你的老旧PC获得严重的速度提升还是非常明显的。 2024年以来的电…

训练验证器解决数学应用题

人工智能咨询培训老师叶梓 转载标明出处 数学问题解决不仅要求模型能够理解问题的语言表述&#xff0c;还要求其能够准确地执行一系列数学运算&#xff0c;每一步的准确性都至关重要。遗憾的是&#xff0c;现有的语言模型在这一领域的性能远远未能达到人类的水平&#xff0c;它…

线段树模板

文章目录 线段树练习题目线段树概念区间维护辅助函数创建线段树 &#xff1a;build修改线段树 &#xff1a;modify查询线段树&#xff1a;query 全部代码 线段树 练习题目 洛谷题单 【模板】线段树 1 【模板】线段树 2 开关 扶苏的问题 线段树概念 线段树是一种高级数据结构&a…

了解奈奎斯特采样定律和频率混叠:数字信号处理中的关键概念

在数字信号处理和通信领域&#xff0c;采样是将连续信号转化为离散数字信号的关键步骤。采样的过程虽然看似简单&#xff0c;但其中蕴含着深刻的理论&#xff0c;直接关系到信号重建的准确性。而奈奎斯特采样定律和频率混叠就是其中两个非常重要的概念。本文将带您深入了解这两…