The development of machine learning has brought great progress in the field of artificial intelligence. In particular, with extensive practice of neural network methods, many domains reach a new high, and, to our delight, some tasks have achieved the level of human beings. For example, neural machine translation (NMT) is so successful that for some language pairs it approaches the quality of human translators1_wu2016google's . Speech recognition technology has achieved a word error rate (WER) of only 5.9%, which is similar to what human transcribers are able to achieve 2_xiong2016achieving he2015delving . However, despite those breakthroughs in the applications with deep neural networks, for the purpose of artificial general intelligence, it is still very far away. One setting that presents a persistent challenge is that of one-shot learning or small-sample learning.
Humans exhibit a strong ability to acquire and recognize new patterns. In particular, when presented with stimuli, people seem to be able to understand new concepts quickly and then recognize variations on these concepts in future percepts lake2011one . The process of learning new concepts by human is so efficient that we may utilize or imitate some mechanisms in it to expand the capacity of neural networks and fill the gaps with human intelligence.
Two approaches to learn concept in psychology are called concept formation and concept assimilation respectively. Concept formation means the method that key characteristics of things of the same kind can be discovered by learners from the various examples of similar things. Concept assimilation means the way that learner uses the existing concepts in the cognitive structure to understand the new concept. To put it in the context of machine learning, concept formation is akin to supervised learning, which recognizes a pattern after training of abundant data. Unfortunately, most successful neural networks are based on feeding of hundreds of examples and could only achieve good performance in the test dataset which is independent identically distributed with the training one. When new data is encountered, these models must inefficiently relearn their parameters to avoid the catastrophic performancesantoro2016one-shot . Concept assimilation is similar to the scenario that the approach trained from the training dataset is able to learn new patterns quickly and even directly recognize them as new concepts. And in some ways, concept assimilation is also similar to meta-learning, learning to how to learn patterns.
In this paper, we present a novel neural network with memory module which is motivated by the process of human concept learning. The training procedure, imitating the concept formation of human, learns how to distinguish samples from different labels and to aggregate samples of the same kind. In test phase, the network will face new samples which have no overlap with the training dataset in both samples and even labels. In order to better utilize the advantages originated from the human behavior, we propose a sequential process for our network to decide how to remember the sample at every step. In this sequential process, a stable and interactive memory serves as an important module.
We demonstrate that our model is capable of learning concepts from the frequent patterns and also mastering the method to represent the unknown ones which have never been seen. We evaluate our model on the well-known one-shot learning task Omniglot, which is the dataset with explicit one-shot learning evaluation Kaiser2017Learning . In this character-level visual concepts learning task, we get similar performance with the highly competitive works. Additionally, we evaluate our model on the speaker recognition task, which usually has a setup to test on the unknown speakers. Compared with those baseline methods, our model gets similar or better performance and shows gratifying adaptability. Finally, we explore the outlier detection ability of our model to test how to evaluate related works with a more human-like approach.
2 Sequential Process to Form Concepts
Just like people study and learn as time and events go on, the whole process of our learning model is also based on a sequential process. At present, sequential process or sequence learning methods get much popularity in neural network based models Graves2013Generating ; Graves2013Speech ; 1_wu2016google's
. Take neural machine translation as an example: its architecture typically consists of two recurrent neural networks (RNNs), one to consume the input text sequence and one to generate translated output text1_wu2016google's . One of the benefits of sequential NMT lies in its ability to obtain history information when it makes prediction at every step. Compared with statistical machine translation, NMT sidesteps many brittle design choices such as word alignment, which usually produces a result by the original word alone but not in a semantic context.
Actually, for the task like one-shot learning, there have been some methods built on a setup of sequential process. In the paper from Santoro et al. santoro2016one-shot (hereinafter dubbed MANN), the authors present a form of episode for the model to learn the representation of each sample and also a mechanism to bind each sample to its class correctly. In one episode with length of T, a dataset is given as a sequence. At each step , the model, along with a memory module, gets the history subsequence and a single sample to make prediction about how to store it in the memory module. Beyond that, Kaiser et al. Kaiser2017Learning present a long-life memory, and the whole learning process is based on this memory which stores representation of past samples and their labels.
In our work, we adopt a setup like the episode in MANN. This sequence-based setting, in our view, gets some advantages: (a) the history information could form various states, and these different states could make fully use of the training dataset through diverse permutations and combinations; (b) the sequential process is close to the way of human to form concepts and learn things, and this setting could better simulate this human-like behavior. In Section 4, the proposed setting would be further explained in detail.
3 Related Work
3.1 One-shot Learning
In recent years, research into one-shot or few-shot learning is fairly compelling and has received widespread attention by the machine learning community. Compared with the limited speed of development within the first decade, one-shot learning and some related works, such as meta-learning and transfer learning, have come into a new period.
The earliest and infrastructural work originates from the work by Li et al. Fei2003A ; feifei2006one-shot . In those works, the authors developed a Bayesian framework to model the generation of data and to conduct one-shot image classification using the premise that previously learned classes can be leveraged to help forecast future ones when very few examples are available from a given class koch2015siamese . After a series of explorative works, Lake et al. lake2011one introduced a generative model of how characters are composed from strokes, where knowledge from previous characters helps to infer the latent strokes in novel characters. And they introduced the Omniglot dataset suitable for large scale concept learning from few examples, which has become a standard to test one-shot learning and related works.
Especially since 2015, several successful approaches for one-shot classification have been built and demonstrated good performance with specialized neural network architectures. Koch et al. koch2015siamese employed a Siamese network that was trained to rank similarity between inputs and predict whether two images belong to the same class. Vinyals et al. vinyals2016matching
learned an embedding function and used cosine distance in an attention kernel to judge image similarity. Snell et al.snell2017prototypical employed a similar approach to Vinyals et al. vinyals2016matching , but used Euclidean distance with their embedding function mishra2017meta . Those works aim at building a more general function to get better representation of the dataset even when the data is from unknown distributions. After getting the representation, some metrics have been applied to calculate the similarities. Besides, as mentioned in the Section 2, there has been several works santoro2016one-shot ; Kaiser2017Learning using specific memory modules to save the class-dependent history information for the latter samples to decide which class is the most similar one.
Besides the common experiments and tests towards images, in our work, we make some attempts towards the speech field. In speech field, there have been some works Fayek2017Evaluating to test the dynamic classification problem toward kinds of tasks. Here we take the speaker identification problem as the point to test the learning of new concepts.
3.2 Memory-Augmented Neural Networks
In fact, neural networks based approaches were born with a very close relation with memory. For almost all classification tasks and advanced generation tasks, the networks are trained to form a set of fixed parameters to store the information of distribution in training dataset. That is to say, the parameters themselves are solid memories.
With the vigorous development of deep learning and neural networks, different memory-augmented models have been heavily studied. According to the different forms of existence, we conclude them into three types: built-in implicit memory, built-in explicit memory and long-life memory.
The built-in memory refers to the memory formed from current training samples (usually current mini-batch) while the long-life memory means a lasting memory module in the whole training process. The different kinds of recurrent neural networks are the typical built-in implicit memories. In recurrent networks, the state passed from one time step to the next can be interpreted as the network’s memory representation of the current example. Moving away from this fixed-length vector representation of memory to a larger and more versatile form is at the core of these methodsKaiser2017Learning . Compared with the built-in implicit memory whose memory is the latent and inherent state of the network, built-in explicit memory gets a more definite structure that it usually declares a module of sequential vectors or a matrix as memory to store information. Content-based or position-based addressing algorithms are most common to load history information from these memory modules. Neural turing matching (NTM) graves2014neural and memory networks weston2014memory are representative models in this category. In NTM, Graves et al. augmented a recurrent neural network with a computing-inspired memory component that can be addressed via queries. Sukhbaatar et al. sukhbaatar2015weakly present a similar augmentation and show the importance of allowing multiple reads and writes to memory between inputs. These approaches excel at tasks where it is necessary to store large parts of a sequential input in a representation that can later be precisely queried. The end-to-end memory network sukhbaatar2015end is also of this kind. It presents a novel recurrent neural network architecture where the recurrence reads from a possibly large external memory multiple times before outputting a symbol. In addition, the MANN belongs to the built-in explicit memory, which varies according to different episode.
In the one-shot learning task, Kaiser et al. Kaiser2017Learning introduced a long-life memory module. This module enables one-shot learning in a variety of neural networks. As the network is trained, the memory increases and becomes more useful without the need to reset it during different training samples.
In addition, besides these two main tasks, there are some other works getting some relations with our proposed method. For example, Mirza and Lin Mirza2016Meta proposed a meta-cognitive online sequential extreme learning machine for class imbalance and concept drift learning task. Moreover, Zhang el al. Zhang2014Neural
proposed a novel iterative two-stage dual heuristic programming framework to solve the similar situation towards the discrete-time switched nonlinear system, which may provide some referential solutions for computation systems.
4 Our Approach
In our work, we use a sequence-based model to conduct the choices of different samples when facing different states. Our work is motivated by the process of human concept learning, so we design the model by the following intuitions:
Humans manage to remember objects from same class to form a definite and unified concept when the label is told.
Which known concept to accommodate a new sample is mainly depending on the label of the new sample, even when the appearance of it differs from the old ones completely.
When a new sample is shown but without knowing its label, people prefer to cognize it with the experience of the known concepts. But it does not mean that just to bind the new sample to a former concept, and it may also sometimes form a totally new concept.
4.1 General Framework
To put it simply, the whole process of our model seems like a neural clustering algorithm. The specialties lie in that the training process of our model is weakly supervised via some reward and punishment rules and the features of data are learned from the clustering process. As mentioned above, we adopt a setup like the episode in MANN santoro2016one-shot . Consider an example in Figure 1. The model within an episode is structured as follows.
There is a sequence of data samples represented by , and is the class label for . In the task of visual concept learning, could be the matrix of raw pixels of one image while could be a vector mapped from the label of with size of . When the label of is unknown or not provided, we set to be a zero vector.
A memory module exists along with every step in this episode. Assume that the size of this memory is L, which means gets L slots to store the information during the episode. In one slot of , named
, there are three elements: integrated hidden representations of samples, integrated labels vector , a counter . The is a vector of size , which corresponds to the embedding size of sample in network while is a vector of size , which originates from the label . And the counter is an integer to record how many samples have been stored in this slot.
The initial state of the memory is empty. All the elements in this memory is set to be zero. And the first sample should enter the memory completely randomly through our algorithm.
At step , the network gets two inputs: memory and current sample . Then, the network here first plays a role of embedding function F to embed the sample as follows:
In Eq. 1, in fact, the network only embeds the through its parameters and structure, so there exists . In addition, means the operation to concatenate the hidden vector and the original label vector . We unite the embedded sample and the memory to call them a state . Facing this state, our model needs to take a policy to decide which slot of the memory should been chosen to store the hidden embedding of this sample .
Once the process is done, all the samples in this episode would be stored in the memory . And we could quantize the formation process through some standard. For instance, if all the samples clustered perfectly, which means each class in this episode has been merged into only one slot, then the reward should be very generous.
4.2 Memory Update
Despite that kind of element-wised memory saving every single sample into one position, all the reused memories face a problem about how to update its content. Because there will be some samples to write into occupied positions.
Our work adopts a brief method to update the memory. As illustrated in Figure 1(b), we only update one slot at every step. So the two crucial problems here are: (1) where to save the new sample, (2) how to write into the chosen slot.
For the former problem, we use a design to synthesize the similarity of hidden embeddings and label vectors. This method works as a two-channel attention network. Assume that is the i-th slot in memory. Then the policy
, also a probability functionP, decides which slot to store.
In the training phase, the model choose the slot as the obtained probability distribution while the test phase chooses the action with largest probability.
In Eq. 2 and Eq. 3, means the attention function to calculate the score between this sample and memory slot . And means the attention over the hidden embedding part while is the attention of the label vectors part. In Eq. 3, is the switch to choose whether to attend via hidden embeddings or label vectors. In practice, we could meet some samples with or without knowing their labels. When a sample is provided with , the network prefers to choose the slot whose label vector is closest to . When the true label is not provided, we set to be zero vector, then the policy is executed totally based on the sample’s content. This setup is quite natural because we human do assimilate a new sample with its homologous concept in memory directly. Assume that we have known some species of aves but excluding penguin, when a penguin is encountered and told as a kind of aves, we will expand this concept, although penguin is quite different with the former concept. We believe this “supervised” process is crucial to form cognition and key features of one concept, especially when the concept is not so solid.
For the problem of how to save new sample, we update the chosen slot by taking average of all the history samples saved in it. And the counter of this slot will add one as a matter of course. This process could be concluded as follows.
4.3 Training Methods
The sequence-based setup in our work provides a superexcellent scenario to use deep reinforcement learning (DRL) method. From above description, we could easily collect key elements to use the DRL algorithm.
In a DRL task, the network (as agent) would take action to change the state of environment and get corresponding reward. The action is based on policy , which usually choose action according to the probability distribution in training and exploration phase and choose the action with maximum probability in test phase.
As mentioned in Section 4.1, in our work, the state could be set by combining and memory . The policy
is a two-channel attention model. After taking action to choose which slot to save at one step, the memory will be changed and the next sample will be loaded to form a new state. The reward is set on purpose to encourage to form a “perfect” cluster, which means all the samples belonging to the same class will be aggregated into one slot without any error, and different classes get their own slots.
In our model, we use the REINFORCE algorithm williams1992simple , a method from policy gradient in reinforcement learning, to learn a policy by optimizing the long-term reward from ongoing sequential samples in an episode. The parameters gain gradient as follows.
Where a is the action to take (which slot to save), is the reward when taking action a in state s. S is the state space while A is the action space.111We refer readers to Williams williams1992simple and Peters peters2010policy for more details.
To summarize, in one episode, the flow of the framework could be concluded as follows:
Start stage. The first sample, faced with an empty memory, will be put into one slot randomly according to the equal probability over all the slots calculated from the attention function.
Middle stage. In the following middle stage, the samples will be given iteratively. At every step, the attention function will output an probability distribution over all the slots to serve as the score for this current sample to choose. In training phase, the model takes the action according to the probability distribution. In test phase, the action with maximum probability will be chosen. After taking the action, an immediate reward at this step will be given by some rules based on the label of this sample and the states of the memory.
Final stage. For the last sample in this episode, after the action of it, the final reward will be given according to the whole states of the memory. In the training phase, the final sample may face a chaotic memory while in test phase, owing to the known information about all the samples from start stage and middle stage, it usually faces a perfect cluster. More details about the process in test phase within one episode will be shown in following section about experiment.
The setting of rewards is a bit tricky. At the very start, if one episode forms perfect clusters, we only set the final step of an episode to gain a large reward while the former steps are all set to 0. But we find this obvious preference get many difficulties in sampling the right path, especially when the length of the episode is long222Actually, the length larger than 5 is quite difficult to find. Because the number of candidate paths will increase exponentially.. After kinds of attempts, we take a loose condition to initialize our model. Under this condition, we use the episodes with fewer kinds of labels (e.g. 2) and shorter length (e.g. 3) to pre-train the network so as to relieve the difficulty in finding the right path directly with longer episode. In the middle of one path, we only set punishment that, at every step, when the action puts the sample into an unused slot, we set the reward of this step to -1 to encourage the aggregation of the samples. When the action puts the sample into an used slot which has sample from different class with it, the reward will be -3. By contrast, at the final step, if the samples in this episode clusters perfectly, we set the reward to be a large positive score (in our experiments, we set it to be 100) to promote this selection of the path. Finally, We add up all the rewards from the beginning to the end of one episode without discount to serve as the scores for this episode with the chosen path.
The selection of rewards are based on some empirical observation. To be specific, the large score with the perfect result is not so steadfast. In the experiments, we find that the reward of 20 also works well in training with the short length (under 5). However, the large reward promotes the speed of converge. With the increase of the episode length, this phenomenon becomes more significant. Moreover, the negative reward in the middle stage is not necessary, but it will prevent the samples to aggregate together. At the beginning of the training process, this setting could avoid the frequent occupation of empty slots, which accelerates the training to a certain extent.
In this section we describe the results of many experiments, comparing our model against many strong baselines. Following the original intention from human concepts learning process, the experiments we set are like a way to test our model about the performance towards concepts learning efficiency, especially the new concepts. Based on this idea, the first two of our experiments revolve around the same basic task: a -way -shot learning task. Each method is provided with a set of labelled examples from each of classes that have not previously been trained upon. The task is then to classify a disjoint batch of unlabelled examples into one of these classes. Thus random performance on this task stands at 1/. We compared a number of alternative models, as baselines, to our work. Besides the popular and standard few-shot learning tasks, we also go further to analyze the zero-shot task with our model, attempting to explore the gap with real human intelligence.
We ran one-shot experiments on two data sets: Omniglot image classification set and Fisher speech dataset to learn the concepts about different speaker identities. It is worth to mention that the popular -way -shot learning tasks actually is a nearest-neighbor classification method to bind the unlabelled new sample to its nearest single one. To be more specific, in the test phase, the -way -shot learning tasks is organised as follows. First, there are some new samples from unseen classes, and each class gets samples. Second, give this batch of data as pre-given samples, with their labels known, at a random order to one model to process them. And then, given a totally new sample, without the information of its label, from one of the unseen classes, the model should output the most likely class of this new sample by taking the label of the most similar sample as its. Repeate this process for thousand of times (with different batch of data) to calculate the final -way -shot accuracy. This method is adopted widely in many works such as vinyals2016matching , koch2015siamese , lake2011one and snell2017prototypical . Using this setting, the -way -shot learning accuracy is depend entirely on the embedding of the single samples.
Different from the nearest single sample, memory-augmented methods may involve fusion of various samples, the classification basis is not just comparing similarities between single samples but clusters. In our work, during the test phase, the pre-given samples will be stored into the memory one-by-one. Owing to the known information about their labels, this storage process is quite confident to form perfect clusters. And the final sample with no information about its class will be classified into the most similar slot and gets its predicted label. Compared with those methods to judge according to single samples, this setting may bring more difficulties but also better scalabilities.
5.1 Basic Attention Methods
The aim of our model is to build an unified model with adaptability and flexibility. The flexibility lies in that different tasks could equip different networks as their embedding functions with experience and prior knowledge. Beyond that, the attention algorithm reflects the uniformity.
In all our model, attention function is used to calculate the similarity between two vectors. For the hidden embedding attention function , we did a lot of attempts. From parametric approaches, we tested some typical attention functions which mainly used in natural language related neural networks, such as , and
. From non-parametric methods, we tested dot production, cosine similarity and Euclidean distance. Unfortunately, in our experiments, we find the parametric approaches are very hard to train through RL frameworks. And we find Euclidean distance is the best in the non-parametric methods. So we finally choose Euclidean distance as our
function in all our tasks. We think these difficulties in parametric methods may due to the specificity about the training process in one-shot learning task. To be specific, there gets no any fixed training dataset but massive episodes sampled from the random permutation of different known samples. The network with parametric attention methods may be led by the gradients to focus on the last attention parameters rather than the basic feature extraction part. And unfortunately, the massive randomly sampled episodes aggravate the difficulties in training the feature extraction network. In contrast, non-parametric methods gets better generalization by concentrating on the basic networks to extract some common hidden embedding from those images.
For the label vectors attention function
, we want to build an algorithm to identify whether two label vectors are same or not. In many memory-augmented methods, this judgment is crucial, but most of them are rule-based and not differentiable. In our work, we used a RNN to measure consistency between two label vectors. To be specific, we used one standard Gated Recurrent Unit (GRU) layer and a fully connected layer as our attention function, which gets the difference value between two label vectors as input and outputs a scalar. We chose the RNN architecture because it could also be used with an extended input vector, which means the trained model could also adapt to another task even the new task get much more classes of samples (so label vectors may be longer).
We tested this idea through a simple experiment. First, we set the number of training labels to 10 and each of them is transformed to an one-hot vector with size of 10. Then we generated sequences with those vectors and trained the RNN based attention function through our framework till convergence. Finally, we tested the 5-way 1-shot accuracy of new label vectors. The new labels got a total number of 30,000 and we transformed them in to vectors with size of 15 based on their binary formats. The 100% accuracy of this experiment proved that our design is efficient. And more important, it guarantee the almost complete accuracy when the label of the samples is given.
5.2 Character-level Visual Concepts Learning
Omniglot consists of 1,623 characters from 50 different alphabets. Each of these was hand drawn by 20 different people. The large number of classes (characters) with relatively few data per class (20) makes this an ideal data set for testing small-scale one-shot classification vinyals2016matching . Following vinyals2016matching and Kaiser2017Learning , we resized all the images to 2828 and we augmented the data set with random rotations by multiples of 90 degrees and used 1,200 characters for training, and the remaining character classes for evaluation. By our experimental comparison with the original data set, the rotation operation prevents the network from overfitting remarkably. That the totally same network and setting result in an obvious one-shot accuracy gap, from less that 75% to almost one hundred percent.
We used a simple yet powerful CNN as the embedding function in this task - consisting of a stack of two modules. The first one is two 3
3 convolution layers with 128 filters, a batch normalizationioffe2015batch
, a ReLU non-linearityglorot2011deep and 2
2 max-pooling. The second module is much like the first one, except that the number of filters is 256. Then, two fully connected layers with dimension 300, a ReLU activation function and an intercalary batchnorm layer are used to form the final embedding. The whole CNN network serves as the embedding functionF in this task. The output of the last embedding layer is used as stimulation to our memory module and the label of the nearest slot returned by the memory is used as the final network prediction.
Due to the similar episode-based sequence structure, we first compare our work to the MANN with totally the same setup and evaluation method. After training from episodes whose length is no more than 15, we test our model on episodes with length of 50. In each episode, 5 unique classes are randomly chosen from dataset. At every step of the episode, our model is used to output the prediction label, and this results from thousands of episodes are collected to form the evaluation result. Results comparing the MANN and baselines to our model are shown in Table 1.
For all the few-shot accuracy, our model outperforms the baselines. We think the advantages may originate from several aspects. For example, the CNN-based model used in our work may better extract the features from the images rather than the LSTM used in MANN. In addition, the clusters formed in the memory slots are quite stable, which may avoid the influence from some special samples. Beyond these differences, both our model and MANN manage to learn not only the embedding function of samples but also the operation to bind the new sample with the memory component. And this operation is achieved by Kaiser et al. Kaiser2017Learning through man-made rules.
|1-shot (%)||5-shot (%)||1-shot (%)||5-shot (%)|
|Koch et al. koch2015siamese||97.3||98.4||88.2||97.0|
|Vinyals et al. vinyals2016matching||98.1||98.9||93.8||98.5|
|Finn et al. finn2017model||98.70.4||99.90.3||95.80.3||98.90.2|
|Snell et al. snell2017prototypical||97.4||99.3||96.0||98.9|
|Munkhdalai and Yu munkhdalai2017meta||98.9||-||97.0||-|
|Kaiser et al. Kaiser2017Learning||98.4||99.6||95.0||98.6|
|Mishra et al. nikhil2017meta||98.960.20||99.750.11||97.640.30||99.360.18|
5-way and 20-way, 1-shot and 5-shot classification accuracies on Omniglot, with 95% confidence intervals where reported. For each task, the best-performing method is highlighted.
Furthermore, we compare our model with many strong approaches in more popular -way -shot tasks. Compared with the setup in MANN, this task focus more on building an embedding method with better generalization. To concentrate on the embedding methods only, we set all the training samples with zero label vectors except the first sample of one specific class (named seed samples) during each episode. This set forces samples to be clustered only through the similarities between their content but not the labels. Results comparing the baselines to our model on Omniglot -way -shot tasks are shown in Table 2.
For both 1-shot and 5-shot, 5-way and 20-way, our model gets comparable performance with the highly competitive methods. This result proves that different classes in test data set are well-distributed in the hidden space through our network. Samples from same class tend to gather and different class tend to be far away from each other.
5.3 Concept Learning of Speaker Recognition
From the beginning of our work, we plan to build an unified framework to strengthen ability to learn kinds of different concepts. Thus, besides the widely adopted Omniglot visual dataset, we also did some experiments towards speaker recognition task.
The Fisher database was used in our experiments. The training and evaluation datasets are presented as follows.
Training set: It consists of 2,500 male and 2,500 female speakers, with 95,167 utterances randomly selected from the Fisher database, and each speaker has about 25 seconds speech segments on average. After extracting 40-dimension F-bank features from this data, we split each segments to samples with 40 frames (0.4 second). That means all the samples get a size of 40
40, all the 5,000 speakers get 3,306,995 samples in total. Finally, these features are used for training the widely used i-vector system as baseline, and another Softmax classification network is also used to compare our model. The softmax model has an identical CNN embedding structure with our model and an additional softmax layer to class the training data.
Evaluation set: It consists of 350 male and 350 female randomly selected speakers. There is no overlap between the speakers of the training set and evaluation set. But all the operations are identical to training set.
In detail, we use the same CNN-based network to serve as the embedding function without changing any setup. Further, the attention network used over label vectors is directly transplanted from the trained RNN network in Omniglot experiment without any adjustment. The only difference is that the length of the label vectors increase to 15 from 10
After training this speaker network, we also use the -way -shot accuracy used in Omniglot to compare different methods. The result is shown in Table 3.
|Model||5-way 1-shot||5-way 5-shot|
Compared with the most advanced results in speaker identification task with accuracy over 90 percent, our results seems not so strong. This gap gets kinds of reasons: (1) the number of enrollment ( in -shot) is very restricted in our model, because we want to evaluate the performance over very few new samples. (2) The duration of one sample to learn the embedding function is very short that we get only 0.4 second rather than 310 seconds in many other works li2017deep ; li2017deep1 . (3) The total time of a speaker is also very restricted. (4) The embedding network we used is not specially designed but the same structure with Omniglot task, which may be better suitable for images.
However, even with a relatively small scale, the trends are well reflected. The results of our model also show obvious superiority over baseline models. Compared with the Softmax network, though the embedding method is same, our model could use the relations between different samples to train an embedding function with better generalization ability. This proves once again that our framework gets the ability to learn a well embedding method for different tasks.
5.4 Outlier Detection Test
In Section 5.2, we allocate label vectors of the seed samples to guide the model to focus on completing the -way -shot tasks. Although this trick is useful, it may avoid the important problem about outlier detection (in MANN, this problem is called zero-shot learning). Actually, in almost all the one-shot learning works, this problem has been sidestepped. However, this ability deserves to be discussed.
Humans are so intelligent that we could not only recognize newly acquired concept but also determine whether a sample is a totally new concept or not. Mapping this task to Omniglot dataset, the zero-shot learning means sometimes the model should judge a sample to belong to none of the provided classes. In our framework, zero-shot learning means storing a sample with unseen class successfully into an empty slot rather than an occupied one.
In fact, the episode setup in our work gets a natural circumstance to conduct zero-shot classification. In each episode, there are certain samples whose label has never shown before. At these steps, a well-trained network should be able to put these samples into an empty slot in memory without knowing their label vectors. Actually, in our general framework, our model gets the aim to finish both zero-shot and few-shot tasks. But in practice, we find the few-shot abilities and zero-shot get some kinds of contradiction.
As shown in Figure 2, we use the well-trained parameters in few-shot tasks to initialize the networks in zero-shot tasks. In zero-shot task, all the labels of samples are not provided, so the whole policy to choose the slot is only determined by the content of the samples. Just at the beginning, the zero-shot accuracy increases dramatically and the accuracies of few-shot learning decrease with similar trends. There are no major surprises in these results: to avoid choosing a wrong used slot, the network prefer to put most samples into an empty slot, this tendency results in an obvious improvement of zero-shot accuracy and deterioration in few-shot tasks. Finally, after competition between these two directions, the network reaches a trade-off.
|Kaiser et al. Kaiser2017Learning||4.9||98.4||9.3|
|Our Model (few-shot)||16.8||99.1||28.9|
|Our Model (zero-shot)||68.4||62.5||65.3|
To compare different methods quantitatively, we calculated the F1 score from zero-shot and one-shot accuracy. F1 score is the harmonic average of the precision and recall used in statistical analysis, where an F1 score reaches its best value at 1 and worst at 0. Here we use this measure to test the performance for different models to handle both the 1-shot learning and outlier detection (0-shot learning). As shown in Table4, our model finds a better way to balance the two directions than other memory-augmented models.
5.5 Error Analysis
After getting the trained model, we could find that there are some typical unsuccessful situations deserved to be discussed. In our experiments, compared with other works equally, the labels of pre-given samples before the final stage are all known. If we set the whole process in an episode decided by the content of the samples without knowing the label information, more problems could be observed. During one episode, there is unlikely to make wrong action in the beginning. Because every slot is empty and the network calculates the score over each slot and gets the exactly same probability for all the slots. After the storage of the initial sample, the following actions may bring some risks. After the observation of the wrong actions, we find that the most frequent situation lies in that the appearance of a new class. When a sample is the first from one specific class in this episode (but not the first one of the whole episode), its right action is to take one empty slot. However, with a certain probability, it may get a higher score over the existing samples stored in memory compared with the zero vectors in those empty slots, although the score is actually very small. If this wrong action happens, the following steps would be messed easily. Actually, this typical problem is easy to be fixed to set some hand-written rules, such as setting a threshold. However, for our framework, we construct the whole process with algorithm itself. From the viewpoint of human behavior, the whole brain learns new concept quickly and precisely without any higher guide. Different from some other works, we manage to weaken the influence of artificial work, although it may bring some errors.
6 Discussion and Future Work
In this paper we presented a new memory-augmented neural network architecture that can be used for learning simple concepts. There are some main contributions in our work. Firstly, at the modelling level, we combine the machine learning classification problems with the human concept learning process, inspired by which we set up a sequential process to direct the methods of how to learn embedding of samples with better generalization. Secondly, we use a memory module to simulate a diverse environment and we also provide a deep reinforcement learning method to successfully train our model. With this module, different classes of concepts get more liable to be away from each other and the samples of same kind tend to gather, which improves the storage efficiency. Further, we explore a new task to measure few-shot tasks among related works.
Although the performance achieves the level approximating the highly competitive methods, there still are some challenging problems. In this paper, each “concept” gets only a single form as image or voiceprint. In reality, most concepts are formed via different modes. We recognize a person through mixture of appearance, voice and even behavioral pattern. In future, we will try this multi-modal concepts formation task, hoping to contribute one step for further general intelligence.
- (1) Y. Wu, M. Schuster, Z. Chen, Q. V. Le, M. Norouzi, W. Macherey, M. Krikun, Y. Cao, Q. Gao, K. Macherey, et al., Google’s neural machine translation system: Bridging the gap between human and machine translation, arXiv: Computation and Language.
- (2) W. Xiong, J. Droppo, X. Huang, F. Seide, M. L. Seltzer, A. Stolcke, D. Yu, G. Zweig, Achieving human parity in conversational speech recognition, arXiv: Computation and Language.
- (3) K. He, X. Zhang, S. Ren, J. Sun, Delving deep into rectifiers: Surpassing human-level performance on imagenet classification, international conference on computer vision (2015) 1026–1034.
- (4) B. M. Lake, R. Salakhutdinov, J. Gross, J. B. Tenenbaum, One shot learning of simple visual concepts, Cognitive Science 33 (33).
- (5) A. Santoro, S. Bartunov, M. Botvinick, D. Wierstra, T. P. Lillicrap, One-shot learning with memory-augmented neural networks, arXiv: Learning.
- (6) Ł. Kaiser, O. Nachum, A. Roy, S. Bengio, Learning to remember rare events, International Conference on Learning Representations.
- (7) A. Graves, Generating sequences with recurrent neural networks, arXiv preprint arXiv:1308.0850.
- (8) A. Graves, A. R. Mohamed, G. Hinton, Speech recognition with deep recurrent neural networks, in: IEEE International Conference on Acoustics, Speech and Signal Processing, 2013, pp. 6645–6649.
- (9) L. Fei-Fei, R. Fergus, P. Perona, A bayesian approach to unsupervised one-shot learning of object categories., in: IEEE International Conference on Computer Vision, 2003. Proceedings, 2003, pp. 1134–1141 vol.2.
- (10) L. Feifei, R. Fergus, P. Perona, One-shot learning of object categories, IEEE Transactions on Pattern Analysis and Machine Intelligence 28 (4) (2006) 594–611.
- (11) G. Koch, R. Zemel, R. Salakhutdinov, Siamese neural networks for one-shot image recognition, in: ICML Deep Learning Workshop, Vol. 2, 2015.
- (12) O. Vinyals, C. Blundell, T. P. Lillicrap, K. Kavukcuoglu, D. Wierstra, Matching networks for one shot learning, neural information processing systems (2016) 3630–3638.
- (13) J. Snell, K. Swersky, R. Zemel, Prototypical networks for few-shot learning, in: Advances in Neural Information Processing Systems, 2017, pp. 4077–4087.
- (14) N. Mishra, M. Rohaninejad, X. Chen, P. Abbeel, Meta-learning with temporal convolutions, arXiv preprint arXiv:1707.03141.
- (15) H. M. Fayek, M. Lech, L. Cavedon, Evaluating deep learning architectures for speech emotion recognition., Neural Networks 92 (2017) 60–68.
- (16) A. Graves, G. Wayne, I. Danihelka, Neural turing machines, arXiv preprint arXiv:1410.5401.
- (17) J. Weston, S. Chopra, A. Bordes, Memory networks, International Conference on Learning Representations.
- (18) S. Sukhbaatar, A. Szlam, J. Weston, R. Fergus, Weakly supervised memory networks, CoRR, abs/1503.08895 2.
- (19) S. Sukhbaatar, J. Weston, R. Fergus, et al., End-to-end memory networks, in: Advances in neural information processing systems, 2015, pp. 2440–2448.
- (20) B. Mirza, Z. Lin, Meta-cognitive online sequential extreme learning machine for imbalanced and concept-drifting data classification., Neural Networks 80 (C) (2016) 79–94.
- (21) H. Zhang, C. Qin, Y. Luo, Neural-network-based constrained optimal control scheme for discrete-time switched nonlinear system using dual heuristic programming, IEEE Transactions on Automation Science and Engineering 11 (3) (2014) 839–849.
- (22) R. J. Williams, Simple statistical gradient-following algorithms for connectionist reinforcement learning, Machine Learning 8 (1992) 229–256.
- (23) J. Peters, Policy gradient methods, Scholarpedia 5 (11) (2010) 774–776.
- (24) S. Ioffe, C. Szegedy, Batch normalization: Accelerating deep network training by reducing internal covariate shift, international conference on machine learning (2015) 448–456.
- (25) X. Glorot, A. Bordes, Y. Bengio, Deep sparse rectifier neural networks 15 (2011) 315–323.
- (26) C. Finn, P. Abbeel, S. Levine, Model-agnostic meta-learning for fast adaptation of deep networks., international conference on machine learning (2017) 1126–1135.
- (27) M. Tsendsuren, Y. Hong, Meta networks, arXiv preprint arXiv:1703.00837.
- (28) N. Mishra, M. Rohaninejad, X. Chen, P. Abbeel, Meta-learning with temporal convolutions, arXiv preprint arXiv:1707.03141.
- (29) C. Li, X. Ma, B. Jiang, X. Li, X. Zhang, X. Liu, Y. Cao, A. Kannan, Z. Zhu, Deep speaker: an end-to-end neural speaker embedding system, arXiv preprint arXiv:1705.02304.
- (30) L. Li, Y. Chen, Y. Shi, Z. Tang, D. Wang, Deep speaker feature learning for text-independent speaker verification, in: conference of the international speech communication association, 2017, pp. 1542–1546.