اسلاید روز پنجم از کارگاه ۷ روزه دادههای بزرگ و یادگیری ماشین که با تاکید بر یادگیری ژرف برگزار شد. جلسه ششم کارگاه نیز به یادگیری ژرف و کاربردها اختصاص خواهد یافت. این کارگاه به همت ایسیام دانشگاه تهران در محل دانشکده فنی برگزار میشود
زمان هر جلسه ۲ ساعت است
51. 51
ﺳﺮﺁآﻏﺎﺯزﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Torsten Wiesel (left) and David H. Hubel (right)
In one experiment, done in 1959, they
inserted a microelectrode into the
primary visual cortex of an anesthetized
cat. They then projected patterns of light
and dark on a screen in front of the cat.
They found that some neurons fired
rapidly when presented with lines at one
angle, while others responded best to
another angle. Some of these neurons
responded to light patterns and dark
patterns differently.
52. 52
ﺳﺮﺁآﻏﺎﺯزﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Torsten Wiesel (left) and David H. Hubel (right)
Hubel and Wiesel called these neurons
simple cells. Still other neurons, which
they termed complex cells, detected
edges regardless of where they were
placed in the receptive field of the
neuron and could preferentially detect
motion in certain directions. These
studies showed how the visual system
constructs complex representations of
visual information from simple stimulus
features.
53. 53
ﺳﺮﺁآﻏﺎﺯزﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Torsten Wiesel (left) and David H. Hubel (right)
54. 54
ﺳﺮﺁآﻏﺎﺯزﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Torsten Wiesel (left) and David H. Hubel (right) https://www.youtube.com/watch?v=8VdFf3egwfg
74. 74
ﮊژﺭرﻑف ﻋﺼﺒﯽ ﺷﺒﮑﻪ ﺍاﻧﻮﺍاﻉعﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Feedforward (acyclic graphs)
* Autoencoders
* Denoising autoencoders
* Restricted Boltzmann machines (stacked, they form deep-belief networks)
Convolutional
— Deep convolutional networks are SOTA for images. There are many well known architectures, including
AlexNet and VGGNet.
— Convolutional networks usually involved a combination of convolutional layers as well as subsampling
and fully connected feedforward layers.
Recurrent
— These handle time series data especially well. They can be combined with convolutional networks to
generate captions for images.
* Long Short-Term Memory
* GRU
Recursive
— These handle natural language especially well
* Recursive autoencoders
* Recursive neural tensor networks
75. 75
ﻋﺼﺒﯽ ﻫﺎﯼیﻪﺷﺒﮑﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Neural networks are a set of algorithms, modeled loosely after the
human brain, that are designed to recognize patterns. They
interpret sensory data through a kind of machine perception,
labeling or clustering raw input. The patterns they recognize are
numerical, contained in vectors, into which all real-world data, be
it images, sound, text or time series, must be translated.
76. 76
ﻋﺼﺒﯽ ﻫﺎﯼیﻪﺷﺒﮑﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Neural networks help us cluster and classify. You can think of them as
a clustering and classification layer on top of data you store and
manage
77. 77
ﻋﺼﺒﯽ ﻫﺎﯼیﻪﺷﺒﮑﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
They help to group unlabeled data according to similarities among
the example inputs, and they classify data when they have a
labeled dataset to train on.
78. 78
ﮊژﺭرﻑف ﯾﺎﺩدﮔﯿﺮﯼی ﺍاﺯز ﭘﯿﺶ ﻫﺎﯾﯽﺶﭘﺮﺳﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Is my problem supervised or unsupervised? If supervised, is it a
classification or regression problem?
Supervised learning has a teacher. That teacher takes the form of a training
set that establishes correlations between two types of data, your input and
your output. You may want to apply labels to images, for example. In this
classification problem, your input is raw pixels, and your output is the name
of whatever’s in the picture.
In a regression example, you might teach a neural net how to predict
continuous values such as housing price based on an input like square-
footage.
Unsupervised learning, on the other hand, can help you detect similarities
and anomalies simply by analyzing unlabeled data. Unsupervised learning
has no teacher; it can be applied to use cases such as image search and
fraud detection.
79. 79
ﮊژﺭرﻑف ﯾﺎﺩدﮔﯿﺮﯼی ﺍاﺯز ﭘﯿﺶ ﻫﺎﯾﯽﺶﭘﺮﺳﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
If supervised, how many labels am I dealing with?
The more labels you need to apply accurately, the more computationally
intensive your problem will be. ImageNet has a training set with about 1000
classes; the Iris dataset has just 3.
80. 80
ﮊژﺭرﻑف ﯾﺎﺩدﮔﯿﺮﯼی ﺍاﺯز ﭘﯿﺶ ﻫﺎﯾﯽﺶﭘﺮﺳﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
How many features am I dealing with?
The more features you have, the more memory you’ll need. With images,
the features of the first layer equal the number of pixels in the image. So
MNIST’s 28*28 pixel images have 784 features. In medical diagnostics,
you may be looking at 14 megapixels.
81. 81
ﮊژﺭرﻑف ﯾﺎﺩدﮔﯿﺮﯼی ﺍاﺯز ﭘﯿﺶ ﻫﺎﯾﯽﺶﭘﺮﺳﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Another way to ask that same question is: What is my architecture
Resnet, the Microsoft Research net that won the most recent ImageNet
competition, had 150 layers. All other things being equal, the more layers
you add, the more features you have to deal with, the more memory you
need. A dense layer in a multilayer perceptron (MLP) is a lot more feature
intensive than a convolutional layer. People use convolutional nets with
subsampling precisely because they get to aggressively prune the
features they’re computing.
82. 82
ﮊژﺭرﻑف ﯾﺎﺩدﮔﯿﺮﯼی ﺍاﺯز ﭘﯿﺶ ﻫﺎﯾﯽﺶﭘﺮﺳﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
How am I going to tune my neural net?
Tuning neural nets is still something of a dark art for a lot of people. There
are a couple of ways to go about it. You can tune empirically, looking at
the f1 score of your net and then adjusting the hyperparameters. You can
tune with some degree of automation using tools like hyperparameter
optimization. And finally, you can rely on heuristics like a GUI, which will
show you exactly how quickly your error is decreasing, and what your
activation distribution looks like.
83. 83
ﮊژﺭرﻑف ﯾﺎﺩدﮔﯿﺮﯼی ﺍاﺯز ﭘﯿﺶ ﻫﺎﯾﯽﺶﭘﺮﺳﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
A lot of research is being conducted on 1-4 GPUs. Enterprise solutions usually
require more and have to work with large CPU clusters as well.
Hardware: Will I be using GPUs, CPUs or both? Am I going to rely on a
single-system GPU or a distributed system?
84. 84
ﮊژﺭرﻑف ﯾﺎﺩدﮔﯿﺮﯼی ﺍاﺯز ﭘﯿﺶ ﻫﺎﯾﯽﺶﭘﺮﺳﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
What kind of problems does deep learning solve?
spam or not_spam in an email filter, good_guy or bad_guy in fraud detection,
angry_customer or happy_customer in customer relationship management.
85. 85
ﻣﺜﺎﻝل ﭼﻨﺪﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Classification
• Detect faces, identify people in images, recognize facial expressions
(angry, joyful)
• Identify objects in images (stop signs, pedestrians, lane markers…)
• Recognize gestures in video
• Detect voices, identify speakers, transcribe speech to text, recognize
sentiment in voices
• Classify text as spam (in emails), or fraudulent (in insurance claims);
recognize sentiment in text (customer feedback)
86. 86
ﻣﺜﺎﻝل ﭼﻨﺪﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Classification
• Detect faces, identify people in images, recognize facial expressions
(angry, joyful)
• Identify objects in images (stop signs, pedestrians, lane markers…)
• Recognize gestures in video
• Detect voices, identify speakers, transcribe speech to text, recognize
sentiment in voices
• Classify text as spam (in emails), or fraudulent (in insurance claims);
recognize sentiment in text (customer feedback)
Any labels that humans can generate, any outcomes you care about
and which correlate to data, can be used to train a neural network.
87. 87
ﻣﺜﺎﻝل ﭼﻨﺪﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Clustering
• Search: Comparing documents, images or sounds to surface
similar items.
• Anomaly detection: The flipside of detecting similarities is
detecting anomalies, or unusual behaviour. In many cases,
unusual behaviour correlates highly with things you want to
detect and prevent, such as fraud.
88. 88
ﻣﺜﺎﻝل ﭼﻨﺪﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Predictive Analytics
• Hardware breakdowns (data centers, manufacturing, transport)
• Health breakdowns (strokes, heart attacks based on vital stats
and data from wearables)
• Customer churn (predicting the likelihood that a customer will
leave, based on web activity and metadata)
• Employee turnover (ditto, but for employees)
89. 89
ﺍاﺑﺰﺍاﺭر ﯾﮏ ﻣﻌﺮﻓﯽﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Predictive Analytics
• Hardware breakdowns (data centers, manufacturing, transport)
• Health breakdowns (strokes, heart attacks based on vital stats
and data from wearables)
• Customer churn (predicting the likelihood that a customer will
leave, based on web activity and metadata)
• Employee turnover (ditto, but for employees)
92. 92
ﺟﺎﻭوﺍا ﻧﻮﯾﺴﺎﻥنﻪﺑﺮﻧﺎﻣ ﺑﺮﺍاﯼی ﺯزﺑﺎﻥن ﯾﮏ - ﺣﻞﻩهﺭرﺍاﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Deeplearning4j is a domain-specific language to configure deep
neural networks, which are made of multiple layers. Everything
starts with a MultiLayerConfiguration, which organizes those layers
and their hyperparameters.
93. 93
ﺟﺎﻭوﺍا ﻧﻮﯾﺴﺎﻥنﻪﺑﺮﻧﺎﻣ ﺑﺮﺍاﯼی ﺯزﺑﺎﻥن ﯾﮏ - ﺣﻞﻩهﺭرﺍاﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Hyperparameters are variables that determine how a neural network
learns. They include:
• how many times to update the weights of the model
• how to initialize those weights
• which activation function to attach to the nodes
• which optimization algorithm to use
• how fast the model should learn
95. 95
ﻻﯾﻪ ﭼﻨﺪ ﺷﺒﮑﻪ ﯾﮏ ﺳﺎﺯزﯼی ﺁآﻣﺎﺩدﻩهﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
.iterations(100).layer(new RBM())
.nIn(784).nOut(10).list(4).hiddenLayerSizes(new int[]{500, 250, 200})
.override(new ClassifierOverride(3))
.build();
For creating a deep learning network in Deeplearning4j, the foundation is
the MultiLayerConfiguration constructor. Below are the parameters for this
configuration and the default settings.
A multilayer network will accept the same kinds of inputs as a single-layer
network. The multilayer network parameters are also typically the same as
their single-layer network counterparts.
96. 96
ﻻﯾﻪ ﭼﻨﺪ ﺷﺒﮑﻪ ﯾﮏ ﺳﺎﺯزﯼی ﺁآﻣﺎﺩدﻩهﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
.iterations(100).layer(new RBM())
.nIn(784).nOut(10).list(4).hiddenLayerSizes(new int[]{500, 250, 200})
.override(new ClassifierOverride(3))
.build();
hiddenLayerSizes: int[], number of nodes for the feed forward layer
• two layers format = new int[]{50} = initiate int array with 50 nodes
• five layers format = new int[]{32,20,40,32} = layer 1 is 32 nodes, layer 2 is
20 nodes, etc
97. 97
ﻻﯾﻪ ﭼﻨﺪ ﺷﺒﮑﻪ ﯾﮏ ﺳﺎﺯزﯼی ﺁآﻣﺎﺩدﻩهﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
.iterations(100).layer(new RBM())
.nIn(784).nOut(10).list(4).hiddenLayerSizes(new int[]{500, 250, 200})
.override(new ClassifierOverride(3))
.build();
list: int, number of layers; this function replicates your configuration n times
and builds a layerwise configuration
• do not include input in the layer count
99. 99
ﺣﻞﻩهﺭرﺍاﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Solution:
Combine convolutional, max pooling, dense (feed forward)
and recurrent (LSTM) layers to classify each frame of a
video (using a generated/synthetic video data set)
Specifically, each video contains a shape (randomly
selected: circles, squares, lines, arcs) which persist for
multiple frames (though move between frames) and may
leave the frame. Each video contains multiple shapes which
are shown for some random number of frames.
100. 100
ﺣﻞﻩهﺭرﺍاﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Solution:
Combine convolutional, max pooling, dense (feed forward)
and recurrent (LSTM) layers to classify each frame of a
video (using a generated/synthetic video data set)
Specifically, each video contains a shape (randomly
selected: circles, squares, lines, arcs) which persist for
multiple frames (though move between frames) and may
leave the frame. Each video contains multiple shapes which
are shown for some random number of frames.
IMP
112. 112
-ﺍاﺟﺮﺍا ﻧﻈﺎﺭرﺕت ﺑﺎ ﯾﺎﺩدﮔﯿﺮﯼیﺍاﻥنﺮﺗﻬ ﺩدﺍاﻧﺸﮕﺎﻩه ACM - ۱۳۹۵ ﺗﺎﺑﺴﺘﺎﻥن - ﻣﺎﺷﯿﻦﯼیﯾﺎﺩدﮔﯿﺮ ﻭو ﺑﺰﺭرﮒگ ﻫﺎﯼیﻩهﺩدﺍاﺩد ﻫﺎﯼیﺩدﮐﺎﺭرﺑﺮ ﺑﺮ ﮔﺬﺭرﯼی
Run the class by using the following command:
mvn compile
Dexec.mainClass="ir.ac.ut.acm.recurrent.video.VideoClassification"