Unsupervised deep learning models used in computer vision by eneismijmich

View this thread on steempeak.com
· @eneismijmich ·
$35.78
Unsupervised deep learning models used in computer vision
<h3>Introduction</h3>

After a break, I wanted to post about this emerging field of unsupervised deep learning, since it is gaining momentum and achieving good results.

 The idea of this post is to give introduction and overview of the most used models, tools and useful links to kickstart your dive into an interesting part of computer vision. Unsupervised models are still being heavily researched unlike supervised model such as convolutional neural networks. In the computer vision, there are 3 main applications of these models: dimensionality reduction, clustering similar images[+image retrieval/search] and generating images. 

Dimensionality reduction is used to plot high dimensional data and find some insights into data. Images can be visualized in 3D space using t-sne dimensionality reduction method and tensboard projector from tensorflow.

![](https://steemitimages.com/DQmUsFe2ccwb3VwKTa3YTW45k8LhBF7jurqizjHK6W9J7sS/image.png)
**image taken from link http://projector.tensorflow.org/**


As for clustering, grouping not labeled data is a very interesting task because a lot of the data on the web is not labeled. For instance training model on images from video. People have to grab each image and manually label them with class or caption. This is not scalable so here unsupervised models can intervene.  

![](https://steemitimages.com/DQmTK56MrU9MENRfdge6745iCYWXnCgjkFvmh5eF6JN7JBb/image.png)
**image link https://indico.io/blog/visualizing-with-t-sne/**


Generative models became popular after the paper Generative Adversarial Networks, 2014. from Ian Goodfellow, Yoshua Bengio and few other researchers was published. Many researchers shifted their focus to combining generative models to achieve good quality images generated from learned distributions. In the image below we can see how the generated image improves in quality training a GAN model.	


![](https://steemitimages.com/DQmdnQhB8mDeb2f34yn7VhUcd8gEAa6W58KBLL9Ac45xSnQ/image.png)
 **image taken from https://github.com/artcg/BEGAN**
	
To simplify idea about unsupervised models, their goal is to extract good features that will represent a high dimensional image in lower dimensional space without having labels. Here we will present some of the most used models, auto-encoders, and generative adversarial model.






<h3>Autoencoders</h3>

An autoencoder is a neural network that is not trained classifying images into class and minimizing the error function. But it is trained to reconstruct the input image from hidden layer h. Internally, it has a hidden layer h that describes a code used to represent the input. Let’s see the image [x] below, input image enters the network, goes through layers and is being coded into hidden layer h. 


![](https://steemitimages.com/DQmf513t2V9qnFZ7jKv2FFhhhTygGu8bhrvwhLsgZ4yWsg6/image.png)
**image taken from https://www.slideshare.net/TJTorres1/deep-style-using-variational-autoencoders-for-image-generation**

This first part of the network is called encoder [h=f(x)]. After that, we reconstruct the image from hidden layer using the second part of the network called decoder [x’=g(h)]. The learning process is simply calculating the difference between the input image and output image. As we minimize that error our autoencoder network learns to decode high dimensional image into a good representation of the image in lower dimensional space.

Advantages of autoencoder are that it is a simple technique, reconstructing the input, layers can be stacked into stacked auto encoder and has its intuitive based on neuroscience research. But at the moment performance can’t match with supervised learning models and from some image datasets reconstruction of the input is not an ideal metric for learning a general purpose and informational representations. 

Below are some links to good implementations to check out:

	* https://github.com/cmgreen210/TensorFlowDeepAutoencoder 
	* https://github.com/musyoku/adversarial-autoencoder 




<h3>Generative Adversarial models</h3>

The idea behind generative adversarial model is to have two different smaller neural network models competing. One of them called generator which takes noise as input and generates samples. The other one called discriminator, receives samples from both the generator model and the real image dataset samples. The discriminator has a goal to distinguish between generated and real samples. 



![](https://steemitimages.com/DQmYjxk336A7mSmahNuwVUnY6or5GwmBtEJAnjVi6e72Wd9/image.png)
**image taken from   https://wiki.tum.de/pages/viewpage.action?pageId=23562510**

These two networks actually have different (adversarial) roles in this continuous game. The generator is learning to produce more realistic samples to trick discriminator while discriminator becomes better and better distinguishing generated data from real. Networks are trained simultaneously and end up generating high quality images. There are many different implementations using different models, loss functions, you find a curated list of them in this link: 

https://github.com/hindupuravinash/the-gan-zoo/blob/master/README.md

Below are some links to good implementations to check out:

	* https://github.com/pytorch/examples/tree/master/dcgan
	* https://github.com/artcg/BEGAN
	* https://github.com/musyoku/wasserstein-gan


## Most popular tools and libraries used in the field

	* Tensorflow by Google, it is most used at the moment with huge community. There are good tutorials on https://www.tensorflow.org/tutorials/ 
	* MXNET adapted by Amazon. They have huge list of models implemented in their github repository
	* Torch used by Facebook. Torch is mostly used with Lua language but there is also python version PyTorch.

## Useful links and materials

	* Most used book in the field 
	http://www.deeplearningbook.org/ 
	* Best research paper search website [Machine Learning, Deep Learning, Computer Vision] 
	http://www.arxiv-sanity.com/ 
	* There are good discussions on Reddit with cited researchers adding to discussions
	https://www.reddit.com/r/MachineLearning/ 
	https://www.reddit.com/r/deeplearning/ 
	* Search the google using [github + model] name you want to learn about, because there are plenty of implementations available to learn from

Hope you like this intro to unsupervised part of the computer vision. 
Happy exploring.
πŸ‘  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 17 others
πŸ‘Ž  , , , , , , , ,
properties (23)
post_id2,915,569
authoreneismijmich
permlinkunsupervised-deep-learning-models-used-in-computer-vision
categorydeeplearning
json_metadata"{"app": "steemit/0.1", "format": "markdown", "links": ["http://projector.tensorflow.org/", "https://indico.io/blog/visualizing-with-t-sne/", "https://github.com/artcg/BEGAN", "https://www.slideshare.net/TJTorres1/deep-style-using-variational-autoencoders-for-image-generation", "https://wiki.tum.de/pages/viewpage.action?pageId=23562510", "https://github.com/hindupuravinash/the-gan-zoo/blob/master/README.md"], "image": ["https://steemitimages.com/DQmUsFe2ccwb3VwKTa3YTW45k8LhBF7jurqizjHK6W9J7sS/image.png"], "tags": ["deeplearning", "computervision", "autoencoders", "gan", "unsupervised"]}"
created2017-05-21 10:37:27
last_update2017-05-21 10:37:27
depth0
children6
net_rshares7,706,354,710,221
last_payout2017-05-28 10:37:27
cashout_time1969-12-31 23:59:59
total_payout_value30.819 SBD
curator_payout_value4.964 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length6,333
author_reputation94,044,485,172,635
root_title"Unsupervised deep learning models used in computer vision"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (90)
@binoddahal ·
Yes....u r right.....You showcasing us reality...
πŸ‘  
properties (23)
post_id2,915,595
authorbinoddahal
permlinkre-eneismijmich-2017521t16939366z
categorydeeplearning
json_metadata"{"app": "esteem/1.4.3", "format": "markdown+html", "tags": "deeplearning"}"
created2017-05-21 10:39:45
last_update2017-05-21 10:39:45
depth1
children0
net_rshares1,145,709,333
last_payout2017-05-28 10:39:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length49
author_reputation796,363,068,104
root_title"Unsupervised deep learning models used in computer vision"
beneficiaries
0.
accountesteemapp
weight100
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@sjovmaiin ·
https://i.imgflip.com/pwi28.jpg
πŸ‘  
properties (23)
post_id2,915,978
authorsjovmaiin
permlinkre-eneismijmich-unsupervised-deep-learning-models-used-in-computer-vision-20170521t110651338z
categorydeeplearning
json_metadata"{"app": "steemit/0.1", "image": ["https://i.imgflip.com/pwi28.jpg"], "tags": ["deeplearning"]}"
created2017-05-21 11:06:51
last_update2017-05-21 11:06:51
depth1
children0
net_rshares788,724,774
last_payout2017-05-28 11:06:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length31
author_reputation-71,706,009,704
root_title"Unsupervised deep learning models used in computer vision"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@betacore · (edited)
extremely well made post on a topic that needs more people learning about it. AI is possibly the most important technology ever created and yet most people have no clue about how far it can really go. If you're interested in learning even more, I recommend the Two Minute Papers channel on YouTube, it's a scholarly synopsis format of over 150 papers mostly related directly to AI. Give it a look sometime.

Thank you for posting.
πŸ‘  
properties (23)
post_id6,813,790
authorbetacore
permlinkre-eneismijmich-unsupervised-deep-learning-models-used-in-computer-vision-20170711t032121329z
categorydeeplearning
json_metadata"{"app": "steemit/0.1", "tags": ["deeplearning"]}"
created2017-07-11 03:21:18
last_update2017-07-11 03:21:51
depth1
children0
net_rshares2,876,588,828
last_payout2017-07-18 03:21:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length430
author_reputation41,900,791,057
root_title"Unsupervised deep learning models used in computer vision"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@steemitboard ·
Congratulations @eneismijmich! You have received a personal award!

[![](https://steemitimages.com/70x70/http://steemitboard.com/@eneismijmich/birthday1.png)](http://steemitboard.com/@eneismijmich) Happy Birthday - 1 Year on Steemit
Click on the badge to view your own Board of Honor on SteemitBoard.

For more information about this award, click [here](https://steemit.com/steemitboard/@steemitboard/steemitboard-update-8-happy-birthday)
> By upvoting this notification, you can help all Steemit users. Learn how [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!
properties (22)
post_id8,344,774
authorsteemitboard
permlinksteemitboard-notify-eneismijmich-20170726t121129000z
categorydeeplearning
json_metadata"{"image": ["https://steemitboard.com/img/notifications.png"]}"
created2017-07-26 12:11:27
last_update2017-07-26 12:11:27
depth1
children0
net_rshares0
last_payout2017-08-02 12:11:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length602
author_reputation38,705,954,145,809
root_title"Unsupervised deep learning models used in computer vision"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@steemitboard ·
Congratulations @eneismijmich! You have received a personal award!

[![](https://steemitimages.com/70x70/http://steemitboard.com/@eneismijmich/birthday2.png)](http://steemitboard.com/@eneismijmich)  2 Years on Steemit
<sub>_Click on the badge to view your Board of Honor._</sub>


> Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
properties (22)
post_id57,770,880
authorsteemitboard
permlinksteemitboard-notify-eneismijmich-20180726t133014000z
categorydeeplearning
json_metadata{"image":["https:\/\/steemitboard.com\/img\/notify.png"]}
created2018-07-26 13:30:12
last_update2018-07-26 13:30:12
depth1
children0
net_rshares0
last_payout2018-08-02 13:30:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length501
author_reputation38,705,954,145,809
root_title"Unsupervised deep learning models used in computer vision"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@steemitboard ·
Congratulations @eneismijmich! You received a personal award!

<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@eneismijmich/birthday3.png</td><td>Happy Birthday! - You are on the Steem blockchain for 3 years!</td></tr></table>

<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@eneismijmich) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=eneismijmich)_</sub>


###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
properties (22)
post_id78,368,508
authorsteemitboard
permlinksteemitboard-notify-eneismijmich-20190726t124821000z
categorydeeplearning
json_metadata{"image":["https:\/\/steemitboard.com\/img\/notify.png"]}
created2019-07-26 12:48:21
last_update2019-07-26 12:48:21
depth1
children0
net_rshares0
last_payout2019-08-02 12:48:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length636
author_reputation38,705,954,145,809
root_title"Unsupervised deep learning models used in computer vision"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000