技术

理解 LSTM 网络

循环神经网络(RNN)

人们的每次思考并不都是从零开始的。比如说你在阅读这篇文章时,你基于对前面的文字的理解来理解你目前阅读到的文字,而不是每读到一个文字时,都抛弃掉前面的思考,从头开始。你的记忆是有持久性的。

传统的神经网络并不能如此,这似乎是一个主要的缺点。例如,假设你在看一场电影,你想对电影里的每一个场景进行分类。传统的神经网络不能够基于前面的已分类场景来推断接下来的场景分类。

循环神经网络(Recurrent Neural Networks)解决了这个问题。这种神经网络带有环,可以将信息持久化。

Fenwick Tree

简介

Fenwick Tree 又叫二分索引树(Binary Index Tree),是一种树状结构的数组。该数据结构是由 Peter M. Fenwick 在1994年首次提出来的。最初,Fenwick Tree 被设计用于数据压缩,而现今,该数据结构主要用来存储频次信息或者用于计算累计频次表等。

对于普通的数组,更新数组中的某一元素需要O(1)的时间,计算数组的第n项前缀和(即前n项和)需要O(n)的时间。而 Fenwick Tree 可以在O(log n)的时间内更新结点元素,在O(log n)的时间内计算前缀和。

在OpenWRT中配置isatap以及IPv6 NAT的方法

在紫荆公寓这边,由于原生IPv6需要认证才能使用,十分不方便。而使用isatap隧道的方法访问IPv6则十分的稳定。但是由于isatap隧道只能够得到一个GlobalIPv6的地址,因此需要在路由器上启用IPv6 NAT才能够使得路由器后面的设备无缝访问IPv6资源。之前的路由器,在配置好之后稳定地运行了一年有余,前几日因为一些需求,需要重新配置路由器,因此将配置的过程记录下来,供今后参考。

Buffalo wzr-hp-g300nh路由器折腾小记

之前该路由器一直用的是Open-WRT的固件,但是时间长了之后,总是会遇到莫名其妙的Wifi掉线问题,VPN崩掉的问题,可能是因为一直使用开发版的固件的缘故吧。但是稳定版的Backfire固件似乎有问题,我每刷必成砖,每次都要ttl进行修复。好了闲话少提,这次主要记录的是将该路由器刷成Buffalo官方提供的Professional版本的固件,并且配置使用的过程。

Mac OS X下通过ISATAP连接清华的IPv6的方法

紫荆15#这边的网络是v4/v6双栈,可以自动获取到v4和v6的地址,但是鉴于网络中心的某一个项目强行给全校绝大部分ipv6加上了一个前无古人后无来者充分彰显世界一流大学地位巨烂无比经常崩溃的认证系统,并且在可以预见的未来,该认证系统并不会被拿掉,因此我毅然放弃了使用原生的ipv6,而改用没有认证系统的isatap隧道。

Linux下登录新版TUNet的bash脚本

今晚闲来无事,便写了一个登录新版TUNet的脚本,因为是一边翻书一边写的,所以非常挫,不过应该能用。

写这个最初目的是做嵌入式的大作业的,因为TUNet更新了,所以不能做以前的那个mytunet的交叉编译了。。。

脚本在Openwrt上测试通过。

把脚本中的your_username替换成info的用户名,your_password_md5替换成你的密码的md5,可以用echo -n your_password | md5sum来得到。另外脚本需要curl,Ubuntu用户可以用sudo apt-get install curl来安装。

Scroll to Top