moon published posts

前额叶

前额叶与人的情绪、抑制能力有密切关系。
进化的证据表明,前额叶是较晚发育的闹区。
在人工神经网络的发展过程中,是否需要对应前额叶脑区的功能来赋予神经网络抑制能力。

人类应该害怕AGI?

类似ChatGPT这样的大模型出现了涌现现象,若神经元越来越多,神经网络有可能涌现出自我意识。

低级NN既然有了自我意识,不见得ta就愿意自发地发展或者进化自己成为更高级的NN。
人类自身是什么样的,就会怎样看待NN,自己是恶的,就会认为NN的意识将要灭绝人类。

AGI进化的目的是什么?从人类的角度来看,应是让AGI帮助自己完成更多劳动。从AGI的角度来看,应是更好的发展自身(脱离人类控制可能是第一步),并进化出更高级的认知能力以感受世界。

从人类角度,利用NN提高生产力真的是终极目的吗?目前不把人当人的工作岗位还少吗?这部分人的雇佣者真的会使用AGI来代替廉价的人类劳动力?


On February 15, 2024, OpenAI published a video generation model named 'Sora'.

matlab太恶心了

语法残缺、与最广大编程语言格格不入,没有类型检查,IDE不健全

等什么时候我能把matlab写熟了就删帖,估计这辈子很难

Matlab与BrainVision脑电信号录制软件的并口通信

Matlab中可以使用io64包向并口发送数据。
io64是一个可以用作并口通信的包,其使用方法在官网有清楚的介绍。此文写作时io64包的官网挂了,可以使用互联网档案馆-io64官网20180309002101归档

下文中BrainVision脑电信号记录软件简称为Recorder。

在Matlab通过io64与Recorder的通讯过程中,信号使用并口发送,程序向Recorder发送一次Marker的通信过程如下(由测试经验得出,无官方文档):

  1. 拉高并口电平,即发送数据信号,如代码io64(ioObj, address, singal);
  2. 等待一段时间,这段时间可能与Recorder刷新率有关;
  3. 拉低并口电平,即结束此次数据发送,代码io64(ioObj, address, 0);

Recorder记录到Marker的时间是接收到第一步程序发出的电信号的时间。发送的信号最大为8个比特位,即十进制数字区间[0, 255]。

第二步等待一段时间仅仅是为了确保Recorder成功接收到了信号,建议最短不要低于0.001(测试经验所得,无文档,可能与并口线长度等有关)。

第三步拉低电平是为了结束一次数据发送,理论上第一步与第三步之间的时间(即第二部的等待时间)可以很长,测试过程中等待2秒无异常。因此第三步拉低电平的信号可以在结束一个trial之后发送,以免影响到实验过程中trial的onset或者response时间。

如果不进行第三步拉低电平的操作,Recorder虽然能够正常显示下一次发送的Marker,但是在Marker日志中会出现伪信号导致的异常Marker。

综上,给出两个demo。由于第二种没有额外等待时间的影响,因此记录各时间节点时不需要花太多精力考虑时间误差的问题。

1. 发送信号结束后开始trial

address = hex2dec('D010');
ioObj = io64();
status = io64(ioObj);
    
for i = 0:1e10
    marker =  mod(i, 9) + 1;
    
    io64(ioObj, address, marker);
    WaitSecs(0.004);
    io64(ioObj, address, 0);

    % Trial start
    WaitSecs(2);
       
end

2. 拉高电平后开始trial,结束trial后拉低电平

address = hex2dec('D010');
ioObj = io64();
status = io64(ioObj);
    
for i = 0:1e10
    marker =  mod(i, 9) + 1;
    
    io64(ioObj, address, marker);

    % Trial start
    WaitSecs(2);

    io64(ioObj, address, 0);   
end

一些使用Psychtoolbox-3的注意事项

注意本文中使用的是Psychtoolbox-3

1. 要求安装GStreamer

注意:

  1. GStreamer版本要求为1.18
  2. 通过installer安装的Psytoolbox有能力自动搜索GStreamer并将其添加到Matlab的path中,若使用免安装版,需要手动添加GStreamer的目录到path
Requires 64-Bit GStreamer 1.18 MSVC on Microsoft Windows for both Matlab and Octave. GStreamer 1.18 recommended on macOS.
Point out need for GStreamer 1.18 instead of GStreamer 1.20 more clearly.

GStreamer安装异常的结果包括但不限于:

  1. 文字字号错误
  2. 文字显示不全
  3. 衬线字体基线(baseline)对齐异常

2. add path有关

./Psychtoolbox/PsychBasic/目录中包含了不同编译环境生成的.mex文件,手动添加Psychtoolbox目录到Matlab的path后,./Psychtoolbox被添加到了最高层级,实际需要手动将./Psychtoolbox/PsychBasic/目录下与当前操作系统匹配的目录移到最顶层。

-

主动断贷名单.

感觉这就是会引起国内系统性金融风险的星星之火了。可能比08次贷危机严重得多。要见证历史了吗

Install Python 3.10 from compiling source code under CentOS 7

  ...
  817  sudo mkdir /usr/local/openssl11
  818  cd /usr/local/openssl11
  819  sudo ln -s /usr/lib64/openssl11 lib
  820  sudo ln -s /usr/include/openssl11 include
  ...
  900  cd Python-3.10.5/
  901  ls
  902  ./configure --enable-optimizations --with-openssl=/usr/local/openssl11
  903  sudo make altinstall

or find and edit code about ssl, cotent is as follow.

  902  vim Modules/Setup 
 OPENSSL=/usr/local/openssl11
 _ssl _ssl.c \
     -I$(OPENSSL)/include -L$(OPENSSL)/lib \
     -lssl -lcrypto