0%

常见的Transforms

使用不同的方法转换输入输出。

1
from torchvision import tranforms

按住ctrl键可以打开transforms的源码,然后可以在pycharm的左边structure处看见结构,里面包含了所有的类。注意是类,要构造一个对象。

常用的一些类包括:

  • Compose
  • ToTensor
  • Normalize
  • Resize
Read more »

下划线的作用

在Python的变量名和方法名中,单下划线和双下划线都有各自的含义,有的仅仅是作为约定,用于提示开发人员,而有的则对Python解释器有特殊含义。

你可能有些疑惑,在Python中变量名和方法名中的单下划线、双下划线到底有什么含义?下面我们就来看看下面五种下划线模式和命名约定,以及它们各自如何影响Python程序的行为:

  • 前置单下划线:_var
  • 后置单下划线:var_
  • 前置双下划线:__var
  • 前后双下划线:var
  • 单下划线:_
Read more »

第二章 模型评估与选择

评价标准:

  • 回归模型评估:均方误差 MSE
  • 分类模型评估:错误率 E 和精度 acc(两者互补)

代价函数与代价敏感:

损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。
代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。

上述的acc就是一个代价均等的函数,每一类分类错误的后果是一样的。

Read more »

使用深度学习进行“序列到序列”回归

此示例说明如何使用深度学习预测发动机的剩余使用寿命 (RUL)。

要训练深度神经网络以根据时序数据或序列数据预测数值,可以使用长短期记忆 (LSTM) 网络。

此示例使用 [1] 中所述的涡轮风扇发动机退化仿真数据集。该示例训练一个 LSTM 网络,旨在根据表示发动机中各种传感器的时序数据来预测发动机的剩余使用寿命(预测性维护,以周期为单位度量)。训练数据包含 100 台发动机的仿真时序数据。每个序列的长度各不相同,对应于完整的运行至故障 (RTF) 实例。测试数据包含 100 个不完整序列,每个序列的末尾为相应的剩余使用寿命值。

该数据集包含 100 个训练观测值和 100 个测试观测值。

Read more »

使用深度学习进行序列分类

此示例说明如何使用长短期记忆 (LSTM) 网络对序列数据进行分类。

要训练深度神经网络以对序列数据进行分类,可以使用 LSTM 网络。LSTM 网络允许您将序列数据输入网络,并根据序列数据的各个时间步进行预测。

此示例使用 [1] 和 [2] 中所述的日语元音数据集。此示例训练一个 LSTM 网络,旨在根据表示连续说出的两个日语元音的时序数据来识别说话者。训练数据包含九个说话者的时序数据。每个序列有 12 个特征,且长度不同。该数据集包含 270 个训练观测值和 370 个测试观测值。

Read more »

使用深度学习进行时序预测

此示例说明如何使用长期短期记忆 (LSTM) 网络预测时序数据。

要预测序列在将来时间步的值,您可以训练“序列到序列”回归 LSTM 网络,其中响应是将值移位了一个时间步的训练序列。也就是说,在输入序列的每个时间步,LSTM 网络都学习预测下一个时间步的值。

要预测将来多个时间步的值,请使用 predictAndUpdateState 函数一次预测一个时间步,并在每次预测时更新网络状态。

此示例使用数据集 chickenpox_dataset。该示例训练一个 LSTM 网络,旨在根据前几个月的水痘病例数来预测未来的水痘病例数。

Read more »

以往的研究主要集中在离散的动作和单自由度。在基于回归的连续控制方案中,EMG信号通常被视为随机信号,其中运动运动学/动力学由统计特性反映。尽管SPC相关研究在过去十年中取得了巨大的进展,但实现自然直观的基于EMG的控制仍然具有挑战性。本文是第一篇考虑3自由度连续力矩估计的。

Read more »

1. Introduction

肌电控制主要有两个方案:

  • PR-based control
  • regression-based control

通常只包含时域特征或者频域特征。

多自由度手腕动作估计:

Regressionconvolutional neural network for improved simultaneous EMG control
Decoding simultaneous multi-DOFwrist movements from raw EMG signals using a convolutional neural network

肌电控制中,CNN模型能够用于减少电极移位的影响,并结合自我校准来在跨天的情况下保持性能。

本文的意义

力的变化会影响运动单元募集的空间分布,进而导致sEMG信号的不同空间模式。因此,将空间信息引入基于sEMG信号的SPC具有至关重要的意义。本文将每一时刻的高密度肌电作为一幅图像,使用CNN进行力矩估计。

Methods

实验范式:单自由度——5个 trial;双自由度——2个 trials。每个 trial 持续30s,动作的频率小于1Hz

神经网络的结构:27层

输入:8 × 24 × 1

输出:1 × 1 × 2

评价标准

对预测后的力矩进行了一个滑动窗口滤波,滤除了尖刺,更平滑更接近真实的力矩

与传统的回归器做比较

  • linear regression (LR)
  • support vector regression (SVR)
  • artificial neural network utilizing histogram of oriented gradient (annHOG) as features
  • CNN model with short-time Fourier transform (STFT-CNN)

3. Conclusion

  • 本文提出的方法有最高的相关系数,最小的nRMSE,最好的平滑度
  • 对CNN提取的特征做主成分分析,发现第一主成分和Fle-Ext的力矩相关;第二主成分和Pro-Sup的力矩相关

重点精读文章。这篇文章的literature review部分介绍了很多关于手腕运动学估计的文献,值得学习,为小论文做准备。这篇文章的方法是先把HD-EMG分解成MUST,然后用MUAP卷积MUST得到各个电极处重构的EMG信号,重构的EMG信号构成了一张图像,N个MU的图像构成了CNN某一时刻的输出。这篇文章分析了MU-specific image和discharge rate的回归效果,发现MU-specific image包含更多的local information,而discharge rate只包含了开关量。讨论部分,文章对比了CNN-DR,LR-DR,SVR-DR,ANN-DR,和CNN-image之间的回归效果,通过R2和nRMSE来评价模型的优劣。这篇文章的方法值得借鉴,没有简单地一开始就考虑图像,而是先分解得到MUST,再重构图像。

Read more »