LISTENDOCK

PDF TO MP3

Transcript

Deep Residual Learning for Image Recognition

This paper introduces residual learning, a framework that eases the training of substantially deeper neural networks by learning residual functions instead of unreferenced ones. This approach significantly improves optimization and accuracy, achieving state-of-the-art results on ImageNet and other vision tasks.

Abstract

Host: Let's look at the big picture of a major breakthrough in how we build deep neural networks. The core problem researchers used to face was that adding more layers to a network actually made it much harder to train. Guest: That sounds counterintuitive, since wouldn't more layers usually mean the model can learn more complex patterns? Host: You'd think so, but in practice, those extra layers started getting in the way of optimization. To solve this, the authors introduce a "residual learning framework" that finally allows for incredibly deep networks. Guest: What exactly does "residual learning" mean in this context? Host: Normally, a network layer tries to learn an entire mathematical transformation from scratch, unreferenced to what came before. In a residual network, the layer just learns the difference—or the residual—between its input and its desired output. Guest: Ah, so instead of reinventing the wheel, the layer just looks at the data it just received and learns how to tweak it? Host: Exactly, it explicitly references that input to make a smaller correction. This simple shift made the networks much easier to optimize, allowing the authors to successfully build a model with a staggering 152 layers. Guest: Wow, 152 layers is huge—did that extreme depth actually pay off in the results? Host: It did in a big way, achieving a tiny 3.57% error rate on the massive ImageNet dataset. Even though it was eight times deeper than previous top models, this residual architecture was actually less complex to compute. Guest: So they basically swept the major AI competitions with this new approach? Host: They really did. By unlocking the power of extreme depth, these residual nets won first place across multiple major visual recognition and object detection competitions in 2015.

Introduction

Host: Let's start by looking at the foundational ideas behind building deeper neural networks for understanding images. For a while, the big breakthrough in image classification was simply making convolutional neural networks deeper, stacking more layers to capture increasingly complex features. Guest: That makes sense, so if more layers mean better features, why not just keep stacking layers forever? Host: That is exactly what researchers wondered. Initially, the roadblock was vanishing or exploding gradients, where the learning signal gets too weak or wild, but new initialization techniques largely solved that, allowing networks with tens of layers to finally start training. Guest: So once they got those deeper networks training, did they see a massive jump in accuracy? Host: Surprisingly, no. They hit a strange new wall called the degradation problem, where adding more layers caused the accuracy to plateau and then rapidly get worse. Guest: Is that because of overfitting, where the model gets too complex and just memorizes the training data? Host: That is the logical guess, but unexpectedly, it was not overfitting. With overfitting, your training error stays low while your real-world test error goes up. But here, adding more layers caused the training error itself to rise. Guest: Wait, why would giving a model more capacity make it worse at learning the training data? Host: That is the core puzzle. Imagine taking a successful shallow network and just adding extra layers on top that do absolutely nothing, which we call an identity mapping. By design, that artificially deeper model should perform exactly as well as the shallow one. Guest: Right, because those extra do-nothing layers are not altering the useful work the first layers already did. Host: Exactly, so a deeper model should fundamentally never have a higher training error than its shallower counterpart. But experiments show that our current optimization tools simply cannot seem to find those simple solutions in a reasonable time once the network gets too deep.

Proposed Method

Host: Let's dive into the core solution the authors designed to fix the problem of neural networks getting worse as they get deeper. They introduce what they call a deep residual learning framework. Guest: Residual learning? How exactly does that fix the issue of deeper networks failing to learn? Host: It changes what the layers are actually trying to compute. Normally, a stack of layers tries to learn the complete desired mapping, which we can call H of x, but here the layers are explicitly set up to learn just the difference between that mapping and the original input. Guest: So instead of learning the whole transformation from scratch, the network learns a residual function, which is just the final mapping minus the input? Host: Exactly, and the final output is simply that residual plus the original input. The authors hypothesize that it is much easier to optimize this residual mapping, pushing the changes toward zero if no transformation is needed, rather than forcing the layers to perfectly pass the original data through from scratch. Guest: That makes logical sense, but how do you practically build that into the architecture of a neural network? Host: They use what are called shortcut connections, which literally skip over one or more layers. These connections just carry the original input forward unchanged and add it directly to the output of the stacked layers. Guest: Does adding these shortcuts slow down the training process or add a bunch of new parameters to calculate? Host: Not at all, because these identity shortcut connections add zero extra parameters and no additional computational complexity. The entire network can still be trained end-to-end using standard methods without modifying the underlying software libraries. Guest: Did this shortcut method actually allow them to successfully train those extremely deep networks? Host: Beautifully, allowing them to build a massive 152-layer network that won first place in the 2015 ImageNet competition. It drastically lowered the error rate to 3.57 percent and proved that this residual principle generalizes perfectly to a wide variety of other computer vision tasks.

Related Work

Host: Before we dive deeper, it helps to look back at how earlier scientists tackled similar challenges. The authors point out that focusing on residuals, or the difference between a baseline and a new state, is actually a classic strategy in computer science and math. Guest: Where else has that residual strategy been used outside of deep neural networks? Host: In image recognition, methods like VLAD encode images using residual vectors to make search and classification highly effective. Also, when solving complex math equations, solvers that focus on the residual difference between scales converge much faster than standard solvers. Guest: So framing a problem as finding the difference, rather than the whole answer, makes the math easier. Has anyone tried wiring neural network layers with shortcuts before? Host: They definitely have. Adding shortcut connections that skip intermediate layers is an older trick used to combat vanishing gradients or to help center data. Guest: The text mentions a competing idea called highway networks that also uses shortcuts, so how is this approach different? Host: Highway networks use mathematical gates on their shortcuts that decide how much information gets through. Those gates have their own parameters to train, and they can completely close. Guest: If the gate closes, does it just act like a traditional network layer without a shortcut? Host: Exactly, but the identity shortcuts proposed in this paper are parameter-free and always stay wide open. This permanent connection forces the network to always learn the residual function, which allows it to successfully scale beyond a hundred layers.

Learning Residual Functions

Host: Let's explore the core mathematical trick that makes training extremely deep neural networks possible. Imagine we have a block of layers in our network, and we want it to learn an ideal transformation for our input data, which we will call H(x). Guest: Okay, so x is our input data, and H(x) is the final target output we want those specific layers to produce? Host: Exactly, but instead of forcing the layers to learn H(x) directly, the researchers rewired the math so the layers learn a residual function instead. This residual function, which we call F(x), is defined as the target output minus the input, or H(x) minus x. Guest: So the network is only focusing on the difference between the input and the goal output? Why is that easier than learning the whole thing? Host: It goes back to the degradation problem, where adding more layers somehow increases training error because the network struggles to learn an identity mapping, which is when the output just perfectly equals the input. If layers are trying to learn H(x) directly, they have a really hard time figuring out how to pass the data through unchanged. Guest: I see, the network has to actively perform complex math just to leave the input alone. How does the residual function fix that? Host: With the new setup, the final output of the block is the learned difference F(x) plus the original input x. If the best thing for an added layer to do is absolutely nothing, the network can simply drive the weights of F(x) to zero. Guest: Oh, and it is vastly easier for an algorithm to just push weights to zero than to perfectly reconstruct the original data from scratch. Host: Precisely, and this acts as a form of preconditioning for the whole problem. Even if the ideal transformation isn't a pure identity mapping, it is usually much closer to doing nothing than to starting completely over. Guest: That makes sense, so the network is really just learning the small tweaks, or perturbations, needed to adjust the input? Host: Exactly right. Their experiments backed this up by showing that the learned residual functions generally produce very small values, which means starting with the assumption of doing nothing is a highly effective foundation.

Residual Building Block

Host: Let's look at the actual architecture used to build these deeper neural networks, starting with the core unit itself. The authors construct their network by applying residual learning to every few stacked layers, creating what they call a residual building block. Guest: How exactly is this block structured mathematically? Host: It’s defined by a simple equation where the final output equals the learned residual function plus the original input. So if your input is "x", the network learns a function of x, and then just adds the original x back to that result. Guest: So the network takes the original data and passes it around the layers as a shortcut to add it to the output? Host: Exactly, and the authors literally call this a "shortcut connection." Because it relies on simple element-wise addition, it doesn't add any extra parameters or computational weight to the model. Guest: That makes it really efficient, but what if the dimensions of the input and output don't match up for that addition? Host: Great catch. When the dimensions change, like when altering input and output channels, they just apply a linear projection to the shortcut connection to make the sizes match. Guest: But if the sizes already match, they just leave it as that simple addition? Host: Right, they stick to the simple identity shortcut whenever possible because it solves the degradation problem while remaining incredibly economical. Guest: And how many layers are typically inside that learned residual function? Host: Usually two or three stacked layers. If you only use a single layer, the math simplifies to a standard linear layer, which they found doesn't offer any real advantage. Guest: Do these building blocks only work for basic, fully-connected layers, or can they be used for convolutional layers too? Host: They apply perfectly to convolutional layers as well. In that case, the element-wise addition is just performed on the two feature maps, channel by channel.

Implementation Details

Host: Let's look under the hood at exactly how these networks are built. To test their ideas, the researchers designed two baseline models for the ImageNet dataset, starting with a standard plain network, and then a residual version of it. Guest: What were the basic design rules for that standard, plain network? Host: It was heavily inspired by previous VGG networks, mainly using small three-by-three filters. The rules were simple: if the output feature map size is the same, use the same number of filters, and if the map size is halved, double the number of filters. Guest: Why do they double the filters exactly when the map size is halved? Host: That trick preserves the time complexity per layer. Because the spatial dimensions shrink, doubling the amount of filters keeps the computational workload perfectly balanced across the network. Guest: That makes sense, but how heavy is this network computationally compared to older models? Host: It is surprisingly lightweight. Even at 34 layers deep, this plain baseline requires about 3.6 billion math operations, which is just 18 percent of the computational cost of a standard VGG-19 model. Guest: So once they have this highly efficient plain network, how do they convert it into a residual network? Host: They literally just take that plain network and add shortcut connections that skip across the layers. When the input and output dimensions match, the shortcut simply passes the data straight through as an identity mapping. Guest: But what if the dimensions change, like when those feature maps get halved and the filters double? Host: They tested two options for that scenario. You can either pad the extra dimensions with zeros, which requires zero extra parameters, or you can use a tiny one-by-one convolution layer to adjust the data so the sizes match up perfectly.

Training Procedures

Host: To get a neural network to actually learn anything, we have to carefully set up the rules for how it practices. Before an image even enters the model, it goes through a heavy set of modifications called data augmentation. Guest: It sounds like they don't just feed the images straight in; what does it mean to randomly resize and crop them to exactly 224 by 224 pixels? Host: By randomly stretching, cropping, and flipping the images horizontally, they force the network to recognize the main subject whether it is up close, far away, or facing backward. Guest: That makes sense for making the model robust, but once the data is inside, what is the purpose of adding Batch Normalization after every convolution? Host: Batch Normalization acts as an internal stabilizer for the network's data. It keeps the mathematical signals balanced at every step, which is absolutely critical for training very deep models from scratch. Guest: I noticed they use a standard optimizer with a learning rate that drops when progress stalls, but why do they completely skip using dropout? Host: Historically, dropout was a popular way to prevent a model from memorizing the training data by randomly turning off neurons. However, Batch Normalization already adds enough stabilization on its own, making dropout unnecessary here. Guest: Got it, that keeps the training process a bit simpler. And when they finally move to testing, why do they evaluate the images at multiple different scales instead of just one? Host: Looking at the same image at several different resolutions, from 224 up to 640 pixels, allows the model to gather multiple perspectives. Averaging those predictions together guarantees the absolute best accuracy.

Experiments on ImageNet

Host: Let's see how this network design actually performs when put to the test on a massive scale. The researchers evaluated their models on the ImageNet dataset, using over a million images across a thousand different categories. Guest: That is a huge testing ground. How did they set up the baseline comparison before testing their new residual idea? Host: They first built standard, or "plain", networks with 18 layers and 34 layers. Just as they suspected, they observed the degradation problem where the deeper 34-layer network had higher training and validation error rates than the shallower 18-layer one. Guest: Was the deeper network failing because the learning signal vanished before it could reach the earlier layers? Host: Surprisingly, no. They used a technique called Batch Normalization, which guaranteed the forward signals and backward gradients stayed healthy and didn't vanish. Guest: So if the signals weren't vanishing, why was the deeper plain network doing worse? Host: The researchers suspect the deep plain networks suffer from exponentially low convergence rates, meaning the optimization process is just incredibly difficult and slow. Guest: Okay, so what happened when they added their shortcut connections to make them residual networks? Host: The results completely flipped. They took those exact same architectures, added identity shortcuts without adding any extra parameters, and the 34-layer ResNet easily outperformed the 18-layer version. Guest: That proves the design works, right? The extra depth finally resulted in better accuracy instead of making things worse. Host: Exactly. The shortcuts effectively solved the degradation problem, allowing the training error to drop considerably and proving that you really can get accuracy gains from increased depth.

Experiments on CIFAR-10

Host: Let's look at how these network designs hold up during actual testing and how they can be tweaked for maximum efficiency. The authors already knew that simple identity shortcuts, which just pass the original data straight through, helped with training. Guest: But what do they do when the dimensions of the data need to increase, making a direct pass-through impossible? Host: They tested three options for the shortcuts. They tried padding the extra dimensions with zeros, using a mathematical projection just for the new dimensions, or using projection shortcuts everywhere. Guest: By projection, do you mean adding an actual layer to calculate the shortcut? Host: Yes, specifically a one-by-one convolution, which adds extra parameters for the model to learn. They found that using these projections everywhere gave a tiny accuracy boost, but the extra computing cost just wasn't worth it. Guest: So they mostly stuck to the simpler, parameter-free identity shortcuts to keep the model fast? Host: Exactly, and that efficiency is absolutely vital for the next big step, which is building extremely deep networks with 50, 101, or even 152 layers. To keep training times manageable at that size, they introduced a bottleneck building block. Guest: How does this bottleneck block keep the computing time down when the network is that incredibly deep? Host: Instead of two standard layers, they use three layers. The first squeezes the data dimensions down, the middle layer processes it, and the final layer expands the dimensions back out. Guest: Oh, so the heavy processing happens in the middle where the data has been temporarily shrunk down. Host: Spot on, and this brilliant design lets them build a colossal 152-layer network that actually takes less computing power than older, much shallower models without suffering any performance degradation.

Analysis of Layer Responses

Host: Let's shift gears to see how the researchers analyzed the behavior of these extremely deep networks in practice. First, they wrapped up their ImageNet results, where a single 152-layer ResNet achieved a top-five error of just 4.49 percent. Guest: That is incredibly low. Didn't that single model actually beat the previous best ensembles, where multiple older models were combined? Host: Exactly, a single ResNet outperformed teams of older models working together. And when they built an ensemble of six ResNets, they pushed that error down to 3.57 percent, comfortably winning first place in the 2015 ILSVRC competition. Guest: After dominating the biggest image competition, what was left to prove? Host: Instead of chasing more records, they turned to a dataset called CIFAR-10 to rigorously study how these deep layers actually behave. CIFAR-10 uses small 32 by 32 pixel images, and they intentionally kept their network architectures very simple to run these tests. Guest: Simple in what way? Did they change the basic building blocks? Host: The foundational blocks stayed the same, but they built a streamlined structure using a formula to stack exactly 6n plus 2 weighted layers. Most importantly, for the shortcut connections bypassing these layers, they strictly used basic identity mapping. Guest: Why limit the network to just identity shortcuts here? Host: It guarantees that their new residual network has the exact same depth, width, and number of parameters as a traditional plain network. That way, any difference in performance is purely and undeniably because of the shortcut connections themselves. Guest: That makes it a perfectly fair test. Did they have to use any special training tricks to get these deep models to learn without overfitting? Host: They used standard techniques like Batch Normalization and a learning rate that drops over time, but notably, they completely skipped using dropout. A simple data augmentation routine, like adding a four-pixel pad around the images and taking random crops, was enough to train them effectively.

Generalization to Other Tasks

Host: Let's see how well these residual networks perform when applied to other kinds of challenges. The researchers tested both standard plain networks and ResNets at varying depths, from 20 up to 56 layers, and found that standard networks got worse as they got deeper, while ResNets thrived. Guest: So the ResNets just keep getting more accurate with more layers? How deep did they actually push this? Host: They pushed it to a 110-layer network, but at that depth, they hit a slight hiccup. The standard initial learning rate was a bit too high for the network to start converging properly. Guest: Oh, how did they fix that? Did they have to change the architecture? Host: Just the training schedule. They used a warm-up phase, starting with a much lower learning rate for about 400 iterations until the error dropped, and then bumped it back up to the normal rate. Guest: That makes sense. Did they look at what was actually happening inside those 110 layers compared to a standard network? Host: Yes, they analyzed the standard deviations of the layer responses, which basically means they looked at how strongly each layer altered the data passing through it. They found that ResNets have generally smaller responses than plain networks. Guest: Interesting, so what does that smaller response actually tell us? Host: It tells us that in a ResNet, each layer is doing less work to modify the signal. They even noticed that the deeper the ResNet gets, the smaller the modifications each individual layer makes. Guest: So if each layer is just making tiny tweaks, they could probably stack way more of them, right? Host: Exactly, which led them to test an aggressively deep model with 1,202 layers. It trained perfectly without any optimization issues and achieved near-zero training error, but the final testing results were actually slightly worse than the 110-layer model. Guest: Why would the test results be worse if the training went perfectly? Host: It was a classic case of overfitting. That massive network had nearly 20 million parameters, which was simply too large for the dataset they were using, causing it to memorize the training data rather than generalizing well.

Object Detection

Host: Let's shift gears and look at how well this network finds and identifies specific items within an image. The researchers wanted to see if their residual networks generalized well to tasks beyond basic image classification. Guest: So instead of just saying "this is a picture of a dog," we are talking about accurately drawing a box around the dog? How did they test that? Host: Exactly, that's called object detection. They took a popular detection system called Faster R-CNN and simply swapped out its older visual engine, VGG-16, for their new ResNet-101 model. Guest: Since they kept the rest of the detection system exactly the same, any improvement would have to come entirely from the new ResNet model, right? Host: Spot on, and the gains were remarkable. On a notoriously difficult dataset called COCO, just plugging in ResNet-101 yielded a 28% relative improvement in the standard accuracy metric. Guest: A 28% jump just from upgrading the underlying visual representations is huge. Did this kind of performance hold up against other researchers? Host: It absolutely dominated the field. Powered by these deep residual nets, the team actually won first place in several major 2015 competitions, sweeping tracks for both detection and localization across ImageNet and COCO.

Further Improvements

Host: Let's explore how we can push these deep residual networks beyond simple image classification and apply them to finding specific objects within an image. The researchers took their ResNet models and plugged them into a popular object detection system called Faster R-CNN. Guest: Faster R-CNN originally used a different network architecture called VGG-16, right? Could they just swap VGG out and drop ResNet directly in? Host: Not quite, because unlike VGG-16, ResNet doesn't have hidden fully connected layers at the end of the network. To get around this, they had to cleverly split the ResNet layers to handle two distinct jobs. Guest: How did they divide up the layers to replace the missing ones? Host: They used the first 91 layers to compute a shared feature map for the entire image. Then, for specific regions where an object might actually be, they applied the remaining top layers to process each region individually, which perfectly mimicked those missing fully connected layers. Guest: What about Batch Normalization? Did they keep updating those statistics while training for this new detection task? Host: Actually, they locked the Batch Normalization layers in place using the statistics from their initial pre-training. Freezing them turned them into simple constant activations, which was a practical choice to significantly reduce memory consumption during this heavy training process. Guest: It makes sense they would need to save memory there. So after making these architectural tweaks, how did ResNet actually perform on the object detection tests? Host: It was a massive upgrade, improving overall accuracy on the PASCAL dataset by over three percent, and seeing a twenty-eight percent relative improvement on the much harder MS COCO dataset. Remarkably, the deeper network didn't just improve at recognizing what the object was, but was also much more precise at drawing a box around exactly where it was.

Architecture Details

Host: Let's look under the hood at a few specific design choices that give this detection model its edge, starting with a technique called box refinement. Guest: What does box refinement actually do in this setup? Host: Normally, a model proposes a bounding box and then adjusts it to better fit the object, but here they take that adjusted box, extract features from it again, and generate a brand new prediction. It basically gives the network a second look at the object. Guest: Oh, so it refines its own refinement, but does it just throw away the first attempt? Host: Actually, it combines the 300 new predictions with the 300 original ones. It then uses a filtering technique called Non-Maximum Suppression to clear out highly overlapping boxes, which bumps up the model's accuracy score by about two points. Guest: That makes sense, and what about understanding the background? Is there a way the model sees the whole picture? Host: Yes, they added a global context feature during the Fast R-CNN step. They pool the feature map of the entire image and attach it to the features of individual regions, so the model understands the broader scene around a specific object. Guest: That sounds really useful for context. Did they also test the model on images of different sizes? Host: They did, by using an image pyramid during the testing phase, meaning they fed the model versions of the image scaled anywhere from 200 to 1000 pixels on their shorter side. Guest: Did they have to train the model on all those different scales as well? Host: Interestingly, no, because of limited time they stuck to single-scale training at 600 pixels. But applying this multi-scale approach just during the testing phase still helped the model catch objects it might have otherwise missed.

Object Detection Improvements and Results

Host: We are now going to see exactly how much these new network architectures improved real-world image recognition. The researchers tested ResNet-101 on a major object detection task using a popular framework called Faster R-CNN. Guest: How did it compare to the older image models they were using? Host: The difference was massive right out of the gate. The previous baseline model, VGG-16, scored a 41.5 on a standard accuracy metric called mean Average Precision, or mAP, but simply swapping in ResNet-101 bumped that score up to 48.4. Guest: So just upgrading the underlying neural network gave them a huge jump. Did they stop there? Host: Not at all, they started stacking additional upgrades to see how far they could push it. They added techniques like bounding box refinement, contextual clues, and testing images at multiple sizes, which pushed the score up to 53.8. Guest: Wow, they really squeezed every drop of performance out of it. How did this upgraded version compare to the rest of the field? Host: It absolutely dominated. By combining several of these networks into an ensemble, they reached a 59.0 mAP, which easily won first place in the 2015 MS COCO detection competition. Guest: Did they test this on any other major datasets to prove it wasn't just a fluke? Host: Yes, they applied this fully upgraded system, which they playfully called "baseline+++", to the PASCAL VOC datasets. On the 2012 dataset, it achieved an 83.8, outperforming the previous state-of-the-art by a full 10 points. Guest: A ten-point jump is a massive leap forward for this kind of research. Host: It really is. And when they took their winning COCO model and fine-tuned it specifically for the PASCAL data, they pushed their accuracy all the way up to 85.6% on the 2007 version.

ImageNet Detection and Localization Tasks

Host: Let's shift gears to see how this architecture handles the heavy lifting of identifying and pinpointing objects in the massive ImageNet database. They first tackled the detection task, which evaluates 200 different object categories. Guest: Did they have to train a completely new model from scratch just for those 200 categories? Host: No, they pre-trained the networks on a larger 1000-class dataset before fine-tuning them specifically for detection. An ensemble of these models hit 62.1% mAP, winning the 2015 competition by a massive 8.5-point margin. Guest: Wow, an 8.5-point lead is huge! The text also mentions a localization task, so how does that differ from detection? Host: Localization requires the model to not just classify what the object is, but also draw a precise bounding box around it. For this, they used a "per-class regression" strategy. Guest: Does "per-class" mean the network learns to predict a specific type of bounding box for every single category? Host: Exactly right. The network is modified so it outputs 1,000 dimensions for the class labels, and another 4,000 dimensions to provide four box coordinates for each of those 1,000 classes. Guest: That is an incredible amount of coordinate math. Did predicting boxes for every single class actually reduce the errors? Host: It reduced them dramatically. Older models like VGG had a localization error of 33.1%, but using ResNet-101 with this per-class method cut that error down to just 13.3%.

Per-Class RPN and R-CNN for Localization

Host: Let's look at how we can get a neural network to accurately pinpoint, or localize, an exact object within an image. Up to this point, the results we've discussed relied on the region proposal network, but the team realized they needed a different detection setup for this specific task. Guest: Normally they would use Fast R-CNN for the detection part, right? Why did they need to change that? Host: They noticed images in this dataset usually feature just one dominant object, which creates highly overlapping proposal regions. Having a bunch of nearly identical image features isn't ideal for the randomness needed in stochastic training. Guest: That makes sense, because if the training data lacks variety, the network won't learn as effectively. So what did they use instead? Host: They actually went back to the original R-CNN architecture. For each image, they took the top 200 bounding box proposals from the proposal network, cropped those regions, warped them to 224 by 224 pixels, and fed them into the classifier. Guest: And what exactly does that classifier do with those 200 warped image crops during the testing phase? Host: It acts as a refiner. It evaluates those top 200 proposals for each predicted class, and then it updates both their confidence scores and their exact bounding box positions. Guest: Did going back to the older R-CNN architecture actually pay off in the final results? Host: It paid off massively, dropping the single-model localization error to 10.6%, while an ensemble of networks pushed that down to 9.0%. That was a 64 percent relative reduction in error compared to the previous year, easily winning them first place in the 2015 ImageNet localization challenge.