Apa perbedaan antara "pembelajaran dalam" dan pemodelan multilevel / hierarkis?

31

Apakah "pembelajaran mendalam" hanyalah istilah lain untuk pemodelan bertingkat / hierarkis?

Saya jauh lebih akrab dengan yang terakhir daripada yang pertama, tetapi dari apa yang bisa saya katakan, perbedaan utama tidak dalam definisi mereka, tetapi bagaimana mereka digunakan dan dievaluasi dalam domain aplikasi mereka.

Sepertinya jumlah node dalam aplikasi "pembelajaran dalam" yang tipikal lebih besar dan menggunakan bentuk hierarki generik, sedangkan aplikasi pemodelan multilevel biasanya menggunakan hubungan hierarkis yang meniru proses generatif yang dimodelkan. Menggunakan hierarki generik dalam domain statistik terapan (pemodelan hierarkis) akan dianggap sebagai model fenomena yang "salah", sedangkan pemodelan hierarki spesifik domain dapat dianggap sebagai menumbangkan tujuan membuat mesin pembelajaran pembelajaran generik yang mendalam.

Apakah kedua hal ini benar-benar mesin yang sama dengan dua nama yang berbeda, digunakan dalam dua cara yang berbeda?

pengguna4733
sumber

Jawaban:

38

Kesamaan

Pada dasarnya kedua jenis algoritma dikembangkan untuk menjawab satu pertanyaan umum dalam aplikasi pembelajaran mesin:

Prediktor yang diberikan (faktor) - bagaimana cara menggabungkan interaksi antara faktor-faktor ini untuk meningkatkan kinerja?x1,x2,,xp

Salah satu caranya adalah dengan memperkenalkan prediktor baru: Tetapi ini terbukti merupakan ide yang buruk karena sejumlah besar parameter dan jenis interaksi yang sangat spesifik.xp+1=x1x2,xp+2=x1x3,

Baik pemodelan Multilevel dan algoritma Deep Learning menjawab pertanyaan ini dengan memperkenalkan model interaksi yang jauh lebih cerdas. Dan dari sudut pandang ini mereka sangat mirip.

Perbedaan

Sekarang izinkan saya mencoba memberikan pemahaman saya tentang apa perbedaan konseptual yang hebat di antara mereka. Untuk memberikan beberapa penjelasan, mari kita lihat asumsi yang kita buat di masing-masing model:

Pemodelan bertingkat: 1 lapisan yang mencerminkan struktur data dapat direpresentasikan sebagai Bayesian Hierarchical Network . Jaringan ini diperbaiki dan biasanya berasal dari aplikasi domain.1

Deep Learning: 2 data dihasilkan oleh interaksi dari banyak faktor. Struktur interaksi tidak diketahui, tetapi dapat direpresentasikan sebagai faktorisasi berlapis: interaksi tingkat lebih tinggi diperoleh dengan mengubah representasi tingkat bawah.2

Perbedaan mendasar berasal dari ungkapan "struktur interaksi tidak dikenal" dalam Deep Learning. Kita dapat mengasumsikan beberapa prior pada jenis interaksi, tetapi algoritma mendefinisikan semua interaksi selama prosedur pembelajaran. Di sisi lain, kita harus mendefinisikan struktur interaksi untuk pemodelan Multilevel (kita belajar hanya memvariasikan parameter model setelahnya).

Contohnya

x1,x2,x3 and we define {x1} and {x2,x3} as different layers.

In the Multilevel modelling regression, for example, we will get the interactions x1x2 and x1x3, but we will never get the interaction x2x3. Of course, partly the results will be affected by the correlation of the errors, but this is not that important for the example.

In Deep learning, for example in multilayered Restricted Boltzmann machines (RBM) with two hidden layers and linear activation function, we will have all the possible polinomial interactions with the degree less or equal than three.

Common advantages and disadvantages

Multilevel modelling

(-) need to define the structure of interactions

(+) results are usually easier to interpret

(+) can apply statistics methods (evaluate confidence intervals, check hypotheses)

Deep learning

(-) requires huge amount of data to train (and time for training as well)

(-) results are usually impossible to interpret (provided as a black box)

(+) no expert knowledge required

(+) once well-trained, usually outperforms most other general methods (not application specific)

Hope it will help!

Dmitry Laptev
sumber
Why does a deep neural network require a huge amount of data to train? I have not heard of this before.
Jase
1
@Jase Neural networks usually have lots of parameters, therefore in many cases if you use a small dataset, you will probably just overfit. Of course, everything depends on the task, but most of the most impressive NN results nowadays use extremely huge datasets.
Dmitry Laptev
Agreed that the impressive results are on huge datasets, but I'm not sure that we can't use dropout and other tricks to get it to generalise well from small datasets.
Jase
1
@Jase Sure, there are different heuristics you can use. But up to my experience with image processing, almost all of them introduce some regularization, which is basically equivalent to introducing some prior and therefore bias. Which is not always what you want.
Dmitry Laptev
Presumably you do not need to define the structure of the interactions if you use nonparametrics e.g. a hierarchical Dirichlet prior.
Astrid
2

While this question/answer has been out there for a bit, I hought it might be helpful to clarify a few points in the answer. First, the phrase raised as a major distinction between hierarchical methods and deep neural networks 'This network is fixed.' is incorrect. Hierarchical methods are no more 'fixed' than the alternative, neural networks. See, for example, the paper Deep Learning with Hierarchical Convolutional Factor Analysis, Chen et. al. . I think you will also find that the requirement to define interactions is also no longer a distinguishing point. A couple of points that are not listed as a plus with the hierarchical modeling is, from my experience, the significantly reduced problem of overfitting and the ability to handle both very large and very small training sets. A nitpick point is that when Bayesian hierarchical methods are used, confidence intervals and hypothesis testing are generally not statistical methods that would be applied.

Aengus
sumber