关于矩阵表示(matrix-based expression)

1. 问题描述

很多算法描述中,喜欢用各种矩阵表达的形式,比如 al=σ(wlal1+bl) ,对于内存不够、cpu又慢的人来说,解析这样的表达式,往往会造成系统卡顿,死机。

2. 问题分析

对于一个大家都使用的习惯,其中一定存在自己不理解的地方。而且数学表达式一定是追求简洁+精确。要解决这样的问题,最直接的办法是,理解每一个字母的含义,体会这种表达式的优越之处,尝试让自己习惯并主动使用这种表达式。

3. 问题解决

3.1 理解含义

这个式子出现在Neural Networks and Deep Learning1 第二章中,在描述神经网络的时候。

要描述这个神经网络,如果不用矩阵的形式,就必须使用下标,像这样:

alj=σ(kwljkal1k+blj)

每一个字母可以明确表示哪层、哪个节点、谁和谁的连接,而且可以读懂。但是,不简洁,看多了这样的式子,会心累的。按Michael Nielsen的话说,叫index hell

3.2 matrix-based expression 优越之处

基于矩阵的表达,可以轻松地避免上面这个问题,像下面这个:

al=σ(wlal1+bl)

index-based expression 暴露了太多内部信息,而这些信息,对于处理步骤是冗余的。matrix-based expression可以很好地把和处理步骤无关的信息,封装起来。能够封装的原因是,each element in a matrix behaves totally the same.

3.3 尝试习惯并主动使用

想要解决内存不足cpu速率不够的问题,根本办法是,扩大内存,提高cpu速度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值