Jul 26, 2018 • 6 min read
In this blog post TWG senior Software Engineer, Ben Wendt, explains how personal growth and growing the deep learning.
Several of the members of the engineering team have been working on expanding their deep learning skills. Recently a group of four TWG engineers worked through the fast.ai Deep Learning for Coders course. Our students were given one-half day per week of work time for the opportunity to learn, study and work on the course material. The course is fairly intensive, so students generally did at least as much studying on their own time to keep up with the pace.
The course is an excellent resource for coders with a range of experience levels. It doesn’t rely too heavily on mathematical notation or theoretical concepts but focuses on developing experience and getting useful results. The analogy made by the lecturer is that teaching baseball should be done by throwing a ball and swinging a bat, rather than studying the math and physics underlying the game. We found that the course allowed personal growth and growing the deep learning competence of our team.
Students in the course immediately start using the Keras framework to get useful results in image classification in the dogs and cats Kaggle competition. Through the coursework, our engineers learned the basics of neural network architecture, tuning the learning process, and most importantly how to effectively use transfer learning.
Transfer learning is a technique where a generalized model (in our case, an image classifier) can be retrained for a specific task. ImageNet is a classification challenge where millions of images are put into one of 1000 categories. Researchers from top AI firms and academic researchers compete every year to beat the state-of-the-art performance on ImageNet. The great thing for deep learning practitioners is that many ImageNet winning models are subsequently made publicly available for reuse.
Through the training of these deep neural networks, the models have learned building block concepts of images, such as eyes, headlights, roofs, elbows, etc. Transfer learning leverages this knowledge to create a model for a similar task. If you start with a model trained on ImageNet that can find eyes, paws, and tails, your task of classifying cats vs. dogs will be much easier to train.
Subsequent to completing the course, our team of Aaron, Ashun, Dex, and Phil decided to apply their learnings by use the kaggle dog breed identification data to make a dog breed classifier. Dex used the Inception model, developed by Google; Aaron used the resnet model, developed by Microsoft, and which won the 2015 ImageNet contest; Ashun used the Xception model, a variant of inception; and Phil used the VGG model, developed by the University of Oxford, which won the ImageNet contest in 2014.
After trying to transfer learning on a variety of models, the team found that they were getting the best results using the Xception model. While we were able to exceed 80% accuracy with most models, the team was able to get 87% accuracy with Xception incorrectly identifying an image of as one of 120 breeds.
The team proceeded to create a dog breed identification application, where you can take a photo of a dog and be informed of the breed of the dog in the photo. This was a crowd-pleasing result during our Friday demos, where we take an hour to show off interesting projects that members of our team are working on. Gaining practical experience like this, while learning a new skill is pretty common at TWG, and our developers are looking forward to putting their new skills to use on future projects.
Keep up-to-date with the latest industry insights and TWG case studies. Sign up for our product innovation newsletter here.
Jul 7 • 6 min read
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-advertisement | 1 year | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Advertisement". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
Cookie | Duration | Description |
---|---|---|
bcookie | 2 years | This cookie is set by linkedIn. The purpose of the cookie is to enable LinkedIn functionalities on the page. |
lang | session | This cookie is used to store the language preferences of a user to serve up content in that stored language the next time user visit the website. |
lidc | 1 day | This cookie is set by LinkedIn and used for routing. |
Cookie | Duration | Description |
---|---|---|
YSC | session | This cookies is set by Youtube and is used to track the views of embedded videos. |
Cookie | Duration | Description |
---|---|---|
_ga | 2 years | This cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assign a randomly generated number to identify unique visitors. |
_gid | 1 day | This cookie is installed by Google Analytics. The cookie is used to store information of how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visted in an anonymous form. |
_hjFirstSeen | 30 minutes | This is set by Hotjar to identify a new user’s first session. It stores a true/false value, indicating whether this was the first time Hotjar saw this user. It is used by Recording filters to identify new user sessions. |
pardot | past | The cookie is set when the visitor is logged in as a Pardot user. |
Cookie | Duration | Description |
---|---|---|
bscookie | 2 years | This cookie is a browser ID cookie set by Linked share Buttons and ad tags. |
IDE | 1 year 24 days | Used by Google DoubleClick and stores information about how the user uses the website and any other advertisement before visiting the website. This is used to present users with ads that are relevant to them according to the user profile. |
personalization_id | 2 years | This cookie is set by twitter.com. It is used integrate the sharing features of this social media. It also stores information about how the user uses the website for tracking and targeting. |
test_cookie | 15 minutes | This cookie is set by doubleclick.net. The purpose of the cookie is to determine if the user's browser supports cookies. |
VISITOR_INFO1_LIVE | 5 months 27 days | This cookie is set by Youtube. Used to track the information of the embedded YouTube videos on a website. |
Cookie | Duration | Description |
---|---|---|
_gat_UA-78951495-1 | 1 minute | No description |
_hjAbsoluteSessionInProgress | 30 minutes | No description |
_hjid | 1 year | This cookie is set by Hotjar. This cookie is set when the customer first lands on a page with the Hotjar script. It is used to persist the random user ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID. |
_hjIncludedInPageviewSample | 2 minutes | No description |
AnalyticsSyncHistory | 1 month | No description |
CONSENT | 16 years 9 months 2 days 8 hours 3 minutes | No description |
UserMatchHistory | 1 month | Linkedin - Used to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. |