[9bc947]: / doc / _build / doctrees / autoencoder-integration.doctree

Download this file

8 lines (8 with data), 10.3 kB

€•<(Œdocutils.nodes”Œdocument”“”)”}”(Œ	rawsource”Œ”Œchildren”]”hŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒMulti-modal Autoencoders”h]”hŒText”“”ŒMulti-modal Autoencoders”…””}”(hhŒparent”hhhŒsource”NŒline”NubaŒ
attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”uŒtagname”hhhhhhŒ=/home/jona/work/phd/maui/maui/doc/autoencoder-integration.rst”hKubhŒ	paragraph”“”)”}”(hXßAutoencoders are hourglass-shaped neural networks that are trained to reconstruct the input data after passing it through a bottleneck layer. Thereby, autoencoders learn an efficient lower dimension representation of high-dimensional data, a "latent factor" representation of the data. The  Multi-modal autoencoders take data from different modalities and learn latent factor representations of the data. In the figure below, the direction of data flow is left to right. The three different-colored matrices on the left represent data from three different modalities. The three matrices on the right represent the reconstruction of the input data, and the mixed-color matrix on the bottom represents the latent factor view of the data.”h]”hXãAutoencoders are hourglass-shaped neural networks that are trained to reconstruct the input data after passing it through a bottleneck layer. Thereby, autoencoders learn an efficient lower dimension representation of high-dimensional data, a “latent factor” representation of the data. The  Multi-modal autoencoders take data from different modalities and learn latent factor representations of the data. In the figure below, the direction of data flow is left to right. The three different-colored matrices on the left represent data from three different modalities. The three matrices on the right represent the reconstruction of the input data, and the mixed-color matrix on the bottom represents the latent factor view of the data.”…””}”(hh/hh-hhhNhNubah}”(h]”h!]”h#]”h%]”h']”uh)h+hh*hKhhhhubhŒcomment”“”)”}”(hŒ_fig-integration-autoencoder”h]”hŒ_fig-integration-autoencoder”…””}”(hhhh=ubah}”(h]”h!]”h#]”h%]”h']”Œ	xml:space”Œpreserve”uh)h;hhhhhh*hKubhŒfigure”“”)”}”(hhh]”hŒimage”“”)”}”(hŒ/.. figure:: _static/integration-autoencoder.png”h]”h}”(h]”h!]”h#]”h%]”h']”Œuri”Œ#_static/integration-autoencoder.png”Œ
candidates”}”Œ*”h_suh)hRhhOhh*hKubah}”(h]”h!]”h#]”h%]”h']”uh)hMhhhhhh*hKubh,)”}”(hŒIntegration Autoencoder”h]”hŒIntegration Autoencoder”…””}”(hhkhhihhhNhNubah}”(h]”h!]”h#]”h%]”h']”uh)h+hh*hKhhhhubh
)”}”(hhh]”(h)”}”(hŒVariational Autoencoders”h]”hŒVariational Autoencoders”…””}”(hh|hhzhhhNhNubah}”(h]”h!]”h#]”h%]”h']”uh)hhhwhhhh*hKubh,)”}”(hŒ˜Maui uses a Variational Autoencoder, which means it learns a bayesian latent variable model. This is achieved by minimizing the following loss function:”h]”hŒ˜Maui uses a Variational Autoencoder, which means it learns a bayesian latent variable model. This is achieved by minimizing the following loss function:”…””}”(hhŠhhˆhhhNhNubah}”(h]”h!]”h#]”h%]”h']”uh)h+hh*hKhhwhhubh,)”}”(hŒd:math:`\mathcal{L} = -\mathbf{E}_{q(z|x)}\big[ log(p(x|z)) \big] + D_{KL}\big( q(z|x)~\|~p(z) \big)`”h]”hŒmath”“”)”}”(hŒd:math:`\mathcal{L} = -\mathbf{E}_{q(z|x)}\big[ log(p(x|z)) \big] + D_{KL}\big( q(z|x)~\|~p(z) \big)`”h]”hŒ\\mathcal{L} = -\mathbf{E}_{q(z|x)}\big[ log(p(x|z)) \big] + D_{KL}\big( q(z|x)~\|~p(z) \big)”…””}”(hhhhœubah}”(h]”h!]”h#]”h%]”h']”uh)hšhh–ubah}”(h]”h!]”h#]”h%]”h']”uh)h+hh*hKhhwhhubh,)”}”(hŒÂThe first term represents the cross-entropy reconstruction loss, and the second term is the Kullback-Leibler divergence between the latent factors distribution and a gaussian prior :math:`p(z)`.”h]”(hŒµThe first term represents the cross-entropy reconstruction loss, and the second term is the Kullback-Leibler divergence between the latent factors distribution and a gaussian prior ”…””}”(hŒµThe first term represents the cross-entropy reconstruction loss, and the second term is the Kullback-Leibler divergence between the latent factors distribution and a gaussian prior ”hh°hhhNhNubh›)”}”(hŒ:math:`p(z)`”h]”hŒp(z)”…””}”(hhhh¹ubah}”(h]”h!]”h#]”h%]”h']”uh)hšhh°ubhŒ.”…””}”(hŒ.”hh°hhhNhNubeh}”(h]”h!]”h#]”h%]”h']”uh)h+hh*hKhhwhhubeh}”(h]”Œvariational-autoencoders”ah!]”h#]”Œvariational autoencoders”ah%]”h']”uh)h	hhhhhh*hKubh
)”}”(hhh]”(h)”}”(hŒStacked Autoencoders”h]”hŒStacked Autoencoders”…””}”(hhßhhÝhhhNhNubah}”(h]”h!]”h#]”h%]”h']”uh)hhhÚhhhh*hKubh,)”}”(hX¢As the figure above indicates, it is possible to insert extra layers between the input and the bottleneck layers, and between the bottleneck and the output layers. This is sometimes called stacked autoencoders. :doc:`maui` allows this architecture to be varied when instantiating the model, using the ``n_hidden`` parameter. The ``n_latent`` parameter determines the size of the bottleneck layer (latent factor layer).”h]”(hŒÓAs the figure above indicates, it is possible to insert extra layers between the input and the bottleneck layers, and between the bottleneck and the output layers. This is sometimes called stacked autoencoders. ”…””}”(hŒÓAs the figure above indicates, it is possible to insert extra layers between the input and the bottleneck layers, and between the bottleneck and the output layers. This is sometimes called stacked autoencoders. ”hhëhhhNhNubŒsphinx.addnodes”Œpending_xref”“”)”}”(hŒ:doc:`maui`”h]”hŒinline”“”)”}”(hhùh]”hŒmaui”…””}”(hhhhýubah}”(h]”h!]”(Œxref”Œstd”Œstd-doc”eh#]”h%]”h']”uh)hûhh÷ubah}”(h]”h!]”h#]”h%]”h']”Œreftype”Œdoc”Œ	refdomain”jŒrefexplicit”‰Œ	reftarget”Œmaui”Œrefdoc”Œautoencoder-integration”Œrefwarn”ˆuh)hõhh*hKhhëubhŒO allows this architecture to be varied when instantiating the model, using the ”…””}”(hŒO allows this architecture to be varied when instantiating the model, using the ”hhëhhhNhNubhŒliteral”“”)”}”(hŒ``n_hidden``”h]”hŒn_hidden”…””}”(hhhj#ubah}”(h]”h!]”h#]”h%]”h']”uh)j!hhëubhŒ parameter. The ”…””}”(hŒ parameter. The ”hhëhhhNhNubj")”}”(hŒ``n_latent``”h]”hŒn_latent”…””}”(hhhj6ubah}”(h]”h!]”h#]”h%]”h']”uh)j!hhëubhŒM parameter determines the size of the bottleneck layer (latent factor layer).”…””}”(hŒM parameter determines the size of the bottleneck layer (latent factor layer).”hhëhhhNhNubeh}”(h]”h!]”h#]”h%]”h']”uh)h+hh*hKhhÚhhubhŒ
literal_block”“”)”}”(hŒ3maui_model = maui.Maui(n_hidden=[900], n_latent=70)”h]”hŒ3maui_model = maui.Maui(n_hidden=[900], n_latent=70)”…””}”(hhhjQubah}”(h]”h!]”h#]”h%]”h']”hKhLŒlanguage”Œpython”Œlinenos”‰Œhighlight_args”}”uh)jOhh*hKhhÚhhubh,)”}”(hŒkinstantiates a Maui model with one hidden layer with 900 units, and 70 units in the bottleneck layer, while”h]”hŒkinstantiates a Maui model with one hidden layer with 900 units, and 70 units in the bottleneck layer, while”…””}”(hjfhjdhhhNhNubah}”(h]”h!]”h#]”h%]”h']”uh)h+hh*hKhhÚhhubjP)”}”(hŒ9maui_model = maui.Maui(n_hidden=[1300, 900], n_latent=60)”h]”hŒ9maui_model = maui.Maui(n_hidden=[1300, 900], n_latent=60)”…””}”(hhhjrubah}”(h]”h!]”h#]”h%]”h']”hKhLj_Œpython”ja‰jb}”uh)jOhh*hK hhÚhhubh,)”}”(hŒ[will instantiate a maui model with two hidden layers with 1300 and 900 units, respectively.”h]”hŒ[will instantiate a maui model with two hidden layers with 1300 and 900 units, respectively.”…””}”(hj„hj‚hhhNhNubah}”(h]”h!]”h#]”h%]”h']”uh)h+hh*hK$hhÚhhubeh}”(h]”Œstacked-autoencoders”ah!]”h#]”Œstacked autoencoders”ah%]”h']”uh)h	hhhhhh*hKubeh}”(h]”Œmulti-modal-autoencoders”ah!]”h#]”Œmulti-modal autoencoders”ah%]”h']”uh)h	hhhhhh*hKubah}”(h]”h!]”h#]”h%]”h']”Œsource”h*uh)hŒcurrent_source”NŒcurrent_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hNŒ	generator”NŒ	datestamp”NŒsource_link”NŒ
source_url”NŒ
toc_backlinks”Œentry”Œfootnote_backlinks”KŒ
sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ
strip_classes”NŒreport_level”KŒ
halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ	traceback”ˆŒinput_encoding”Œ	utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jÃŒerror_encoding”ŒUTF-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ
language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ	id_prefix”hŒauto_id_prefix”Œid”Œ
dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h*Œ_destination”NŒ
_config_files”]”Œpep_references”NŒpep_base_url”Œ https://www.python.org/dev/peps/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒrfc_base_url”Œhttps://tools.ietf.org/html/”Œ	tab_width”KŒtrim_footnote_reference_space”‰Œfile_insertion_enabled”ˆŒraw_enabled”KŒsyntax_highlight”Œlong”Œsmart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ
docinfo_xform”KŒsectsubtitle_xform”‰Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jjšh×hÔj•j’uŒ	nametypes”}”(jNh×Nj•Nuh}”(jšhhÔhwj’hÚuŒ
footnote_refs”}”Œ
citation_refs”}”Œ
autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ	footnotes”]”Œ	citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒid_start”KŒparse_messages”]”(hŒsystem_message”“”)”}”(hhh]”h,)”}”(hŒmalformed hyperlink target.”h]”hŒmalformed hyperlink target.”…””}”(hhhjubah}”(h]”h!]”h#]”h%]”h']”uh)h+hjubah}”(h]”h!]”h#]”h%]”h']”Œlevel”KŒtype”ŒWARNING”Œline”KŒsource”h*uh)jhhhhhh*hKubj)”}”(hhh]”h,)”}”(hŒ?Explicit markup ends without a blank line; unexpected unindent.”h]”hŒ?Explicit markup ends without a blank line; unexpected unindent.”…””}”(hhhj;ubah}”(h]”h!]”h#]”h%]”h']”uh)h+hj8ubah}”(h]”h!]”h#]”h%]”h']”Œlevel”KŒtype”j5Œline”KŒsource”h*uh)jhhhhhh*hKubeŒtransform_messages”]”Œtransformer”NŒ
decoration”Nhhub.