Robot learning is a research field at the intersection of machine learning and robotics. It studies techniques allowing a robot to acquire novel skills or adapt to its environment through learning algorithms.
A key challenge in Robot Learning is to close the perception-action loop.
Manipulation
Locomotion
Mobile Manipulation
Robots should be designed to learn in situations where pre-existing knowledge or established protocols are insufficient or non-existent, requiring them to discover knowledge from data:
Learning is NOT the solution to every problem in robotics.
When the task can be modeled without knowledge from data, learning algorithm is not required (and learning algorithm tend to perform worse). We can also combine the learning system with classical techniques.
These days, many robot learning methods are based on deep neural networks with various learning algorithms (supervised learning, unsupervised learning, reinforcement learning, etc.).
LiDAR sensor
Stereo Depth sensor
RGBD camera, Microphone
IMU (Gyro/Acceleration/Barometer)
Tactile sensor
Joint Position/Velocity/Torque
An attention mechanism where the dot products are scaled down by
Motivated by the concern when the input is large, the softmax function may have an extremely small gradient, hard for efficient learning.
Calculate similarity from
Can be viewed as differentiable dictionary.
A module for attention mechanisms which runs through an attention mechanism several times in parallel.
Masking of the unwanted tokens can be done by setting them to
Sample implementation:
qkv = to_qvk(x) # to_qvk = nn.Linear(dim, dim_head * heads * 3, bias=False)
q, k, v = tuple(rearrange(qkv, 'b t (d k h) -> k b h t d ', k=3, h=num_heads))
scaled_dot_prod = torch.einsum('b h i d , b h j d -> b h i j', q, k) * scale
scaled_dot_prod = scaled_dot_prod.masked_fill(mask, -np.inf)
attention = torch.softmax(scaled_dot_prod, dim=-1)
out = torch.einsum('b h i j , b h j d -> b h i d', attention, v)
out = rearrange(out, "b h t d -> b t (h d)")
Self-Attention: all of the
Cross-Attention: the
Inductive bias (IB) is the assumption(s) of data that the model holds [1].
Deep Learning
by Ian Goodfellow, Yoshua Bengio, Aaron Courville
Modern Robotics: Mechanics, Planning, and Control
by Kevin M. Lynch, Frank C. Park