AI秘境-墨小黑奇遇记 - 修炼成神经(二)
在解开了感知机和门电路的谜题后,墨小黑对人工智能的世界渐渐产生了浓厚的兴趣。他开始意识到,自己不仅是在学习一门复杂的技术,更是在探索一个充满未知与挑战的神秘领域。
入夜,墨小黑一脸无奈地盯着电脑屏幕,思考着自己为何会在一个周末的晚上,深陷于Python代码的泥潭中。他觉得自己就像是《黑客帝国》里的Neo,被强行拖入了一个他完全不理解的矩阵世界。
“我明明是来学AI的,为什么现在要和这些‘点积’打架?”他苦笑着自言自语,心里充满了无奈与挫败感。
这个周末,他决定挑战自我,试着用Python搭建一个简单的三层神经网络。按照网上教程的步骤,他应该在这个时候“爽到飞起”,感受到编程的“玄妙”之处。然而,现实总是如此骨感,他现在已经完全懵了。
“什么是矩阵乘法?为什么这里要用点积?这些东西怎么就把我搞晕了?”他感觉脑袋里像是被塞进了一堆乱七八糟的数学符号,似乎有个小人在他的脑海中不停地跑来跑去,举着大大的问号。
“点积到底是个啥?”墨小黑开始质疑人生。他刷遍了论坛和教程,可所有的解释都像是对他说:“这个很简单呀,只要你有数学基础就行。”然而,他的数学基础就像是“能从小学毕业就不错了”这种水平。
于是,他开始了自己的自救行动。小黑决定找身边的“学霸”——小白求助。 “小白,救命!我快被这些矩阵搞疯了!”墨小黑急匆匆地跑到小白的宿舍,语气中带着无限的绝望。
小白正在玩游戏,看到墨小黑这副焦急的样子,不由得笑了:“你怎么了?是点积让你‘神经’了?” “别提了,我卡在这一步已经半天了。
”墨小黑摊开双手,“矩阵点积是啥啊?感觉这玩意儿要把我整进‘精神病院’了。” 小白放下游戏手柄,笑着对墨小黑说:“兄弟,这东西其实没你想的那么复杂。点积啊,就是矩阵中对应位置的元素相乘后再相加,简单吧?” “听你这么一说好像是有点道理。”墨小黑点了点头,“可是,这和神经网络有什么关系?” 小白摆出一副“专家”的姿态:“你看啊,神经网络其实就是一堆矩阵的组合。点积运算就是用来计算每一层神经元的输出。你想啊,每一层都有不同的‘权重’和‘偏置’,这些都是矩阵里的值。点积就是把这些值按规则乘一遍,再加一遍,然后就是下一层的输入。
” 墨小黑觉得小白说得头头是道,可当他实际操作时,还是觉得“哪儿不对劲”。他尝试了一次又一次,可得到的结果总是差得离谱,就像用螺丝刀试图修好坏掉的键盘,完全对不上。
每当他点下运行键,屏幕上总会出现一串“红字”:ValueError: shapes (X,Y) and (A,B) not aligned: X != A。
“这到底啥意思啊!”墨小黑内心崩溃,感觉自己正处于一个永无止境的循环中,每次运行都像是重演一遍他的失败。 这时,肚子突然咕咕作响,提醒他已经过了晚饭时间。无奈之下,墨小黑决定先去学校食堂找点东西吃。排队的时候,他看着其他同学轻松自在的样子,心里又是一阵自嘲:“看样子,不是所有人都得为矩阵崩溃啊。”
墨小黑已经几乎放弃了,这时,他突然想起了自己的高中数学老师。那位老师曾告诉他们:“学数学,要抓住核心,不要被形式所困。” “矩阵点积的核心是什么?”墨小黑喃喃自语,“是不是我一直搞错了维度?” 他突然意识到,也许问题根本不是矩阵点积本身,而是他输入的矩阵维度不匹配。就像一个人穿鞋,左脚要穿左脚的鞋,右脚要穿右脚的鞋,搞错了顺序,怎么走都别扭。 于是,他仔细检查了自己的代码,发现确实是维度搞错了。墨小黑深吸一口气,重新调整了矩阵的大小,心里默默祈祷:“这次千万别再给我报错了。” 他按下回车键,代码成功运行了,屏幕上终于显示出了正确的结果。
他激动得差点把键盘掀翻,“我成功了!”墨小黑激动地喊道,感觉自己就像打赢了一场长达数天的战役。 小白从旁边探头过来,笑着说:“恭喜啊,终于把自己从‘精神病院’里救出来了。” “多亏了你啊,否则我可能还在那儿打转呢。”墨小黑心情大好,“不过说真的,AI这个东西,还真得有点耐心和悟性啊。” 小白拍了拍墨小黑的肩膀:“慢慢来,AI这玩意儿本来就是个慢工出细活的活儿,急不来的。”
墨小黑完成了他的第一个三层神经网络,心情也逐渐平复了下来。回想起这几天的折腾,他觉得自己就像经历了一场人生的“洗礼”。 “矩阵点积什么的,果然是高深莫测啊。”墨小黑笑着自嘲,“不过,下次再遇到,我可不会再被它搞‘神经’了。” 他关掉电脑,准备出门透透气。这时,手机突然响了,是米教授发来的消息:“小黑,准备好了吗?下周我们要深入研究如何用三层神经网络进行预测。” 墨小黑看着手机屏幕,心里又是一紧。
相关文章:
AI秘境-墨小黑奇遇记 - 修炼成神经(二)
在解开了感知机和门电路的谜题后,墨小黑对人工智能的世界渐渐产生了浓厚的兴趣。他开始意识到,自己不仅是在学习一门复杂的技术,更是在探索一个充满未知与挑战的神秘领域。 入夜,墨小黑一脸无奈地盯着电脑屏幕,思考着自…...

计算机网络之分组交换时延的计算
一.类型 分组交换的时延包括一下几种: 1.1发送时延 发送时延,也叫传输时延,结点将分组的所有比特推向链路所需要的时间,即从发送分组的第一个比特算起,到该分组的最后一个比特发送完为止。 发送时延 分组长度 / 发…...

虚幻5|入门AI行为树,建立敌人
本章分成两块部分一块是第一点的制作一个简单的AI,后面第二点之后是第二部分建立ai行为树。这两个部分是一个衔接,最好不要跳看 一,制作一个简单的AI 1.首先,我们创建一个敌人的角色蓝图,添加一个场景组件widget用于…...

ARM处理架构中的PMU(Performance Monitoring Unit)和 AMU(Activity Monitors Unit)简介
在 ARM 架构中,PMU(Performance Monitoring Unit)和 AMU(Activity Monitors Unit)是用于性能分析和监控的硬件单元,但它们的功能和应用场景有所不同。以下是它们的主要区别: 1. PMU (Performance Monitoring Unit) 功能:PMU 是一种用于监控处理器性能的硬件单元。它可…...

Service服务在Android中的使用
目录 一,Service简介 二,Service的两种启动方式 1,非绑定式启动Service 2,绑定式启动Service 三,Service的生命周期 1,非绑定式Service的生命周期 2,绑定式Service的生命周期 四…...

浅谈C语言位段
1、位段的定义 百度百科中是这样解释位段的: 位段,C语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为“位段”或称“位域”( bit field) 。利用位段能够用较少的位数存储数据。 以下,我们均在VS2022的…...
arcgisserver登陆信息不正确
密码明明对,但是登录提示登录信息不正确 Arcgis server 9.3.1 无法登录ArcGIS Manager 提示Incorrect Login Information 操作系统windows 2008 x64server 解决办法: 关闭window防火墙解决。 如果防火墙已经关闭: 通过修改用户口令后就可以重…...

KOLA: CAREFULLY BENCHMARKING WORLD KNOWLEDGE OF LARGE LANGUAGE MODELS
文章目录 题目摘要简介KOLA 基准实验评估结论和未来工作道德声明 题目 KOLA:仔细对大型语言模型的世界知识进行基准测试 论文地址:https://arxiv.org/abs/2306.09296 项目地址:https://github.com/ranahaani/GNews 摘要 大型语言模型 (LLM) 的卓越性能要求评估方法…...
Robot Operating System——机器人关节的角度、速度和力矩
大纲 应用场景定义字段解释 案例 sensor_msgs::msg::JointState 是 ROS (Robot Operating System) 中的一个消息类型,用于表示机器人关节的状态信息。它通常用于传输和处理机器人关节的角度、速度和力矩等信息。 应用场景 机器人控制 关节控制:在机器人…...
一分钟掌握java9新特性
try-with-resources语句 /** * 在处理必须关闭的资源时,使用try-with-resources语句替代try-finally语句。 生成的代码更简洁,更清晰,并且生成的异常更有用 * java9 之前写法 */ public static String readFile1(String fileName){ tr…...

89. UE5 RPG 实现伤害 冷却 消耗技能描述
在上一篇文章里,我们能够通过富文本显示多种格式的文字,并显示技能描述。在这一篇文章里,我们继续优化技能描述,将技能说需要显示的内容显示出来。 实现火球术的基础描述 首先,我们现实现火球术的基础描述࿰…...

el-tree树状控件,定位到选中的节点的位置
效果图 在el-tree 控件加 :render-content"renderContent" 在掉接口的方法中 实际有用的是setTimeout 方法和this.$refs.xxxxxx.setCheckedKeys([industrycodeList]) if(res.data.swindustrylist.length>0){res.data.swindustrylist.forEach(item > {industry…...

YOLO目标检测的单目(多目标测距),使用相机光学模型,支持目标检测模型训练,可输出目标位置和距离信息并可视化
本项目旨在开发一个基于YOLO的目标检测系统,该系统不仅能检测图像中的多个目标,还能利用单目摄像头的图像估计每个目标与摄像头之间的相对距离。系统的核心组成部分包括目标检测、距离估计、模型训练以及结果可视化。 主要功能 目标检测:使用…...
unity简易lua文件迁移工具
一. 了解商业游戏的Lua热更新开发方式 市面上的3种结合Lua热更新的开发方式 1.纯Lua开发(所有的游戏主要逻辑都用Lua实现) 好处:机动性强;坏处:代码效率略差 2.半C#,半Lua开发(核心逻辑C#开发…...
Elasticsearch中的自动补全功能详解与实践
简介 自动补全是现代搜索引擎中的一项重要功能,它能够根据用户的输入提供实时的建议,提高用户体验。Elasticsearch提供了Completion Suggester查询来实现这一功能。本文将详细介绍Elasticsearch中的自动补全功能,并提供详细的配置和查询示例…...

前端如何使用Nginx代理dist网页,代理websocket,代理后端
本文将指导您如何配置Nginx以代理前后端分离的项目,并特别说明了对WebSocket的代理设置。通过本教程,您将能够实现一次性配置,进而使项目能够在任意局域网服务器上部署,并可通过IP地址或域名访问服务。 笔者建议 先速览本文了解大…...

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. 问题解决
问题描述 原来我的服务器docker服务运行正常,但在某次尝试用时, 根据系统的错误提示执行了snap install docker指令之后, 再执行docker ps命令则提示Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running…...

零基础学习Redis(2) -- Redis安装与配置
Redis官方是并不支持Windows系统的,并且现在绝大部分公司都是使用的Linux,所以我们在Linux上进行安装,这里我使用的是Ubuntu 1. 安装步骤 1. 首先使用工具连接到我们的云服务器,然后输入apt指令搜索redis相关的软件包࿱…...

UniApp第一天
一、官网介绍 1.1、 SDK SDK是"Software Development Kit"的缩写,中文意思是“软件开发工具包”。SDK通常是由软件开发者为其他开发者提供的一个软件工具集合,用于帮助开发者快速开发、测试和部署软件应用。SDK通常包含了一系列的开发工具、库…...

TLE4966-3G带方向检测功能的高灵敏度汽车霍尔开关
TLE4966-3G是一款集成电路双霍尔效应传感器,专为使用旋转极轮的高精度应用而设计。通过片上有源补偿电路和斩波器技术实现精确的磁切换点和高温稳定性。 该传感器在Q2提供速度输出,其状态(高或低)与磁场值相对应。对于超过阈值BO…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...