2 lines
95 KiB
JavaScript
2 lines
95 KiB
JavaScript
(this["webpackJsonpreact-website-smooth-scroll"]=this["webpackJsonpreact-website-smooth-scroll"]||[]).push([[0],{32:function(e,i,n){},46:function(e,i,n){"use strict";n.r(i);var t,r,o,c,l,s,a,d,b=n(4),j=n.n(b),h=n(13),x=n.n(h),p=(n(32),n(7)),O=n(5),g=n(2),m=n(3),u=n(8),f=n(9);const k=m.a.aside(t||(t=Object(g.a)(["\n position:fixed ; \n z-index: 999;\n width: 100%;\n height: 100%;\n background: #0d0d0d;\n display: grid;\n align-items: center;\n top: 0;\n left: 0;\n transition: 0.3s ease-in-out;\n opacity: ",";\n top: ","; \n \n"])),(e=>{let{isOpen:i}=e;return i?"100%":"0"}),(e=>{let{isOpen:i}=e;return i?"0":"-100%"})),w=Object(m.a)(f.c)(r||(r=Object(g.a)(["\n color: #fff ; \n &:hover {\n color: #01bf71;\n transition: 0.2s ease-in-out;\n }\n"]))),v=m.a.div(o||(o=Object(g.a)(["\n position: absolute;\n top: 1.2rem;\n right: 1.5rem;\n background: transparent;\n font-size: 2rem;\n cursor: pointer;\n outline: none;\n"]))),y=m.a.div(c||(c=Object(g.a)(["\n color: #ffffff;\n"]))),_=m.a.ul(l||(l=Object(g.a)(["\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: repeat(6,80px);\n text-align: center;\n\n @media screen and (max-width: 480px){\n grid-template-rows: repeat(6, 60px) ; \n }\n"]))),N=Object(m.a)(u.Link)(s||(s=Object(g.a)(["\n display: flex ;\n align-items: center;\n justify-content: center;\n font-size: 1.5rem;\n text-decoration: none;\n list-style: none;\n transition: 0.2s ease-in-out;\n text-decoration: none;\n color: #fff;\n cursor: pointer;\n\n &:hover {\n color: #01bf71;\n transition: 0.2s ease-in-out;\n }\n"])));m.a.div(a||(a=Object(g.a)([" \n display: flex;\n justify-content: center;\n"]))),Object(m.a)(p.b)(d||(d=Object(g.a)([" \n border-radius: 50px;\n background: #01bf71;\n white-space: nowrap;\n padding: 16px 46px;\n color: #010606;\n font-size: 16px;\n outline: none;\n border: none;\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n text-decoration: none;\n\n &:hover {\n transition: all 0.2s ease-in-out;\n background: #fff;\n color: #010606;\n }\n"])));var P=n(1);var D,C,S,T,z,F,I,M,L,A=e=>{let{isOpen:i,toggle:n}=e;return Object(P.jsx)(P.Fragment,{children:Object(P.jsxs)(k,{isOpen:i,onClick:n,children:[Object(P.jsx)(v,{onClick:n,children:Object(P.jsx)(w,{})}),Object(P.jsx)(y,{children:Object(P.jsxs)(_,{children:[Object(P.jsx)(N,{to:"Notebooks",onClick:n,children:"Notebooks"}),Object(P.jsx)(N,{to:"Instructors",onClick:n,children:"Instructors"}),Object(P.jsx)(N,{to:"Media",onClick:n,children:"Media"}),Object(P.jsx)(N,{to:"More",onClick:n,children:"More"})]})})]})})},G=n(0);const R=m.a.nav(D||(D=Object(g.a)(["\n background: ",";\n height: 100px;\n margin-top: -100px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 1rem;\n position: sticky;\n top: 0;\n z-index: 10;\n\n @media screen and (max-width: 960px) {\n transition: 0.8s all ease;\n }\n"])),(e=>{let{scrollNav:i}=e;return i?"#000":"transparent"})),B=m.a.div(C||(C=Object(g.a)(["\n display: flex;\n justify-content: space-between;\n height: 100px;\n z-index: 1;\n width: 100%;\n padding: 0 24px;\n max-width: 1100px;\n"]))),E=Object(m.a)(p.b)(S||(S=Object(g.a)(["\n color: #fff;\n justify-self: flex-start;\n cursor: pointer;\n font-size: 1.5rem;\n display: flex;\n align-items: center;\n margin-left: 24px;\n font-weight: bold;\n text-decoration: none;\n"]))),V=m.a.div(T||(T=Object(g.a)(["\n display: none;\n\n @media screen and (max-width: 768px) {\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(-100%, 60%);\n font-size: 1.8rem;\n cursor: pointer;\n }\n"]))),U=m.a.ul(z||(z=Object(g.a)(["\n display: flex;\n align-items: center;\n list-style: none;\n text-align: center;\n margin-right: -22px;\n\n @media screen and (max-width: 768px) {\n display: none;\n }\n"]))),X=m.a.li(F||(F=Object(g.a)(["\n height: 80px;\n"]))),q=(m.a.nav(I||(I=Object(g.a)(["\n display: flex;\n align-items: center;\n\n @media screen and (max-width: 768px) {\n display: none;\n }\n"]))),Object(m.a)(u.Link)(M||(M=Object(g.a)(["\n color: #fff;\n display: flex;\n align-items: center;\n text-decoration: none;\n padding: 0 1rem;\n height: 100%;\n cursor: pointer;\n\n &.active {\n border-bottom: 3px solid #57c6d1\n }\n"]))));Object(m.a)(p.b)(L||(L=Object(g.a)(["\n border-radius: 50px;\n background: #01bf71;\n white-space: nowrap;\n padding: 10px 22px;\n color: #010606;\n font-size: 16px;\n outline: none;\n border: none;\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n text-decoration: none;\n\n &:hover {\n transition: all 0.2s ease-in-out;\n background: #fff;\n color: #010606;\n }\n"])));var W,Z,H,Y,K,Q,J,$,ee,ie,ne,te,re,oe,ce,le,se,ae,de,be,je,he=e=>{let{toggle:i}=e;const[n,t]=Object(b.useState)(!1),r=()=>{window.scrollY>=80?t(!0):t(!1)};Object(b.useEffect)((()=>{window.addEventListener("scroll",r)}),[]);return Object(P.jsx)(P.Fragment,{children:Object(P.jsx)(G.b.Provider,{value:{color:"#fff"},children:Object(P.jsx)(R,{scrollNav:n,children:Object(P.jsxs)(B,{children:[Object(P.jsx)(E,{to:"/",onClick:()=>{u.animateScroll.scrollToTop()},children:Object(P.jsx)("h1",{children:" Understanding Deep Learning "})}),Object(P.jsx)(V,{onClick:i,children:Object(P.jsx)(f.a,{})}),Object(P.jsxs)(U,{children:[Object(P.jsx)(X,{children:Object(P.jsx)(q,{to:"Notebooks",smooth:!0,duration:500,spy:!0,exact:"true",offset:-80,activeClass:"active",children:"Notebooks"})}),Object(P.jsx)(X,{children:Object(P.jsx)(q,{to:"Instructors",smooth:!0,duration:500,spy:!0,exact:"true",offset:-80,activeClass:"active",children:"Instructors"})}),Object(P.jsx)(X,{children:Object(P.jsx)(q,{to:"Media",smooth:!0,duration:500,spy:!0,exact:"true",offset:-80,activeClass:"active",children:"Media"})}),Object(P.jsx)(X,{children:Object(P.jsx)(q,{to:"More",smooth:!0,duration:500,spy:!0,exact:"true",offset:-80,activeClass:"active",children:"More"})})]})]})})})})};const xe=m.a.div(W||(W=Object(g.a)(["\n background: #57c6d1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 0px;\n position: static;\n z-index: 1;\n }\n"]))),pe=m.a.div(Z||(Z=Object(g.a)([" \n z-index: 3; \n width: 100% ; \n max-width: 1100px;\n position: static;\n padding: 8px 24px;\n margin: 80px 0px;\n display: flex;\n flex-direction: column;\n align-items: center ; \n"]))),Oe=(m.a.h1(H||(H=Object(g.a)([" \n color: #fff;\n font-size: 48px;\n text-align: center;\n\n @media screen and (max-width: 768px) {\n font-size: 40px;\n }\n\n @media screen and (max-width: 480px) {\n font-size: 32px;\n }\n\n"]))),m.a.p(Y||(Y=Object(g.a)([" \n margin-top: 24px;\n color: #fff;\n font-size: 24px ; \n text-align: center ; \n max-width: 600px ; \n\n \n @media screen and (max-width: 768px) {\n font-size: 24px;\n }\n\n @media screen and (max-width: 480px) {\n font-size: 18px;\n }\n"]))),m.a.div(K||(K=Object(g.a)(["\n margin-top: 32px ; \n display: flex;\n flex-direction: column ; \n align-items: center ; \n"]))),m.a.div(Q||(Q=Object(g.a)([" \n display: grid; \n grid-auto-columns: minmax(auto, 1fr);\n align-items: top;\n grid-template-areas: 'col1 col2' };\n\n @media screen and (max-width: 768px){\n grid-template-areas: 'col2' 'col1';\n }\n"])))),ge=m.a.div(J||(J=Object(g.a)(["\n margin-left: 4px;\n color: #000000;\n font-size: 16px;\n // line-height: 16px;\n margin-bottom: 16px;\n display: flex; \n justify-content: start;\n"]))),me=m.a.div($||($=Object(g.a)(["\n width: 20%;\n font-size: 16px ; \n margin-right: 20px ; \n\n @media screen and (max-width: 768px) {\n font-size: 24px;\n }\n\n @media screen and (max-width: 480px) {\n font-size: 18px;\n }\n"]))),ue=m.a.div(ee||(ee=Object(g.a)(["\n width: 80%; \n color: #000000;\n font-size: 16px ; \n\n @media screen and (max-width: 768px) {\n font-size: 24px;\n }\n\n @media screen and (max-width: 480px) {\n font-size: 18px;\n }\n"]))),fe=m.a.div(ie||(ie=Object(g.a)([" \n margin-bottom: 15px;\n margin-left: 12px;\n margin-top: 60px;\n padding: 10px 15px;\n padding: 0 15px;\n grid-area: col1;\n align-items:left;\n display: flex;\n flex-direction:column;\n justify-content: space-between;\n"]))),ke=m.a.div(ne||(ne=Object(g.a)([" \n margin-bottom: 15px;\n padding: 0 15px;\n grid-area: col2;\n display: flex;\n align-items:center;\n flex-direction:column;\n"]))),we=(m.a.div(te||(te=Object(g.a)(["\n max-width: 540px ; \n padding-top: 0;\n padding-bottom: 0;\n"]))),m.a.div(re||(re=Object(g.a)([" \n max-width: 555px;\n height: 100%;\n"])))),ve=m.a.img(oe||(oe=Object(g.a)(["\n width: 100%;\n margin-top: 0;\n margin-right: 0;\n margin-left: 10px;\n padding-right: 0;\n"]))),ye=m.a.img(ce||(ce=Object(g.a)(["\n margin-top: 5px;\n margin-right: 0;\n margin-left: 0;\n padding-right: 0;\n margin-bottom: 10px;\n"]))),_e=m.a.a(le||(le=Object(g.a)(["\n color: #fff;\n text-decoration: none;\n padding: 0.1rem 0rem;\n height: 100%;\n cursor: pointer;\n\n &:hover {\n filter: brightness(0.85);\n }\n\n &.active {\n color: #000\n border-bottom: 3px solid #01bf71;\n }\n"]))),Ne=m.a.div(se||(se=Object(g.a)([" \n margin-left: 0px;\n color: #000000;\n font-size: 16px;\n font-weight: bold;\n line-height: 16px;\n margin-bottom: 36px; \n\n @media screen and (max-width: 768px) {\n font-size: 24px;\n }\n\n @media screen and (max-width: 480px) {\n font-size: 18px;\n }\n"]))),Pe=m.a.div(ae||(ae=Object(g.a)([" \n margin-left: 0px;\n color: #000000;\n font-size: 16px;\n font-weight: bold;\n line-height: 16px;\n margin-bottom: 10px; \n margin-top:36px;\n\n @media screen and (max-width: 768px) {\n font-size: 24px;\n }\n\n @media screen and (max-width: 480px) {\n font-size: 18px;\n }\n"]))),De=m.a.div(de||(de=Object(g.a)(["\n\n"]))),Ce=m.a.div(be||(be=Object(g.a)(["\n font-size: 14px;\n margin-bottom: 0px;\n margin-top: 0px;\n\n"]))),Se=m.a.div(je||(je=Object(g.a)(["\n@media screen and (max-width: 768px) {\n font-size: 24px;\n}\n\n@media screen and (max-width: 480px) {\n font-size: 18px;\n}\n"])));var Te=n.p+"static/media/F23.prince.learning.turquoise.af513a4e.jpg";var ze,Fe,Ie,Me,Le,Ae,Ge,Re,Be,Ee,Ve,Ue,Xe=()=>Object(P.jsx)(xe,{id:"home",children:Object(P.jsx)(pe,{children:Object(P.jsxs)(Oe,{children:[Object(P.jsxs)(fe,{children:[Object(P.jsxs)(De,{children:[Object(P.jsx)(Ne,{children:"RECENT NEWS:"}),Object(P.jsxs)(ge,{children:[Object(P.jsx)(me,{children:"03/12/24"}),Object(P.jsx)(ue,{children:" Book now available again."})]}),Object(P.jsxs)(ge,{children:[Object(P.jsx)(me,{children:"02/15/24"}),Object(P.jsx)(ue,{children:" First printing of book has sold out in most places. Second printing available mid-March."})]}),Object(P.jsxs)(ge,{children:[Object(P.jsx)(me,{children:"01/29/24"}),Object(P.jsxs)(ue,{children:[" New blog about ",Object(P.jsx)("a",{href:"https://www.borealisai.com/research-blogs/gradient-flow/",children:" gradient flow "})," published."]})]}),Object(P.jsxs)(ge,{children:[Object(P.jsx)(me,{children:"12/26/23"}),Object(P.jsxs)(ue,{children:[" Machine Learning Street Talk ",Object(P.jsx)("a",{href:"https://www.youtube.com/watch?v=sJXn4Cl4oww",children:" podcast "})," discussing book."]})]}),Object(P.jsxs)(ge,{children:[Object(P.jsx)(me,{children:"12/19/23"}),Object(P.jsxs)(ue,{children:["Deeper Insights ",Object(P.jsx)("a",{href:"https://podcasts.apple.com/us/podcast/understanding-deep-learning-with-simon-prince/id1669436318?i=1000638269385",children:"podcast"})," discussing book."]})]}),Object(P.jsxs)(ge,{children:[Object(P.jsx)(me,{children:"12/06/23"}),Object(P.jsxs)(ue,{children:[" I did an ",Object(P.jsx)("a",{href:"https://www.borealisai.com/news/understanding-deep-learning/",children:"interview"})," discussing the book with Borealis AI."]})]}),Object(P.jsxs)(ge,{children:[Object(P.jsx)(me,{children:"12/05/23"}),Object(P.jsxs)(ue,{children:[" Book released by ",Object(P.jsx)("a",{href:"https://mitpress.mit.edu/9780262048644/understanding-deep-learning/",children:"The MIT Press"}),"."]})]})]}),Object(P.jsxs)(Se,{children:["Follow me on ",Object(P.jsx)("a",{href:"https://twitter.com/SimonPrinceAI",children:"Twitter"})," or ",Object(P.jsx)("a",{href:"https://www.linkedin.com/in/simon-prince-615bb9165/",children:"LinkedIn"})," for updates."]}),Object(P.jsx)(Pe,{children:"CITATION:"}),Object(P.jsx)(Ce,{children:Object(P.jsx)("pre",{children:Object(P.jsx)("code",{children:Object(P.jsx)(j.a.Fragment,{children:'\n@book{prince2023understanding,\n author = "Simon J.D. Prince",\n title = "Understanding Deep Learning",\n publisher = "The MIT Press",\n year = 2023,\n url = "http://udlbook.com"}\n '})})})})]}),Object(P.jsxs)(ke,{children:[Object(P.jsx)(we,{children:Object(P.jsx)(ve,{src:Te,alt:"book cover"})}),Object(P.jsx)(_e,{href:"https://github.com/udlbook/udlbook/releases/download/v2.03/UnderstandingDeepLearning_02_26_24_C.pdf",children:"Download full pdf"}),Object(P.jsx)(ye,{src:"https://img.shields.io/github/downloads/udlbook/udlbook/total",alt:"download stats shield"}),Object(P.jsx)(_e,{href:"https://mitpress.mit.edu/9780262048644/understanding-deep-learning/",children:"Buy the book"}),Object(P.jsx)(_e,{href:"https://github.com/udlbook/udlbook/raw/main/UDL_Answer_Booklet_Students.pdf",children:"Answers to selected questions"}),Object(P.jsx)(_e,{href:"https://github.com/udlbook/udlbook/raw/main/UDL_Errata.pdf",children:"Errata"})]})]})})});const qe=m.a.div(ze||(ze=Object(g.a)([" \n color: #fff;\n /* background: #f9f9f9; */\n background: ",";\n\n @media screen and (max-width: 768px) {\n padding: 100px 0;\n }\n"])),(e=>{let{lightBg:i}=e;return i?"#f9f9f9":"#010606"})),We=m.a.div(Fe||(Fe=Object(g.a)(["\n display: grid ; \n z-index: 1;\n // height: 1250px ; \n width: 100% ; \n max-width: 1100px;\n margin-right: auto;\n margin-left: auto;\n padding: 0 24px;\n justify-content: center;\n"]))),Ze=m.a.div(Ie||(Ie=Object(g.a)([" \n display: grid; \n grid-auto-columns: minmax(auto, 1fr);\n align-items: center;\n grid-template-areas: ",";\n\n @media screen and (max-width: 768px){\n grid-template-areas: ",";\n }\n"])),(e=>{let{imgStart:i}=e;return i?"'col2 col1'":"'col1 col2'"}),(e=>{let{imgStart:i}=e;return i?"'col1' 'col2'":"'col1 col1' 'col2 col2'"})),He=m.a.div(Me||(Me=Object(g.a)([" \n margin-bottom: 15px;\n padding: 0 15px;\n grid-area: col1;\n"]))),Ye=m.a.div(Le||(Le=Object(g.a)([" \n margin-bottom: 15px;\n padding: 0 15px;\n grid-area: col2;\n"]))),Ke=m.a.div(Ae||(Ae=Object(g.a)(["\n max-width: 540px ; \n padding-top: 0;\n padding-bottom: 0;\n"]))),Qe=m.a.p(Ge||(Ge=Object(g.a)([" \n color: #57c6d1;\n font-size: 16px;\n line-height: 16px;\n font-weight: 700;\n letter-spacing: 1.4px;\n text-transform: uppercase;\n margin-bottom: 16px;\n"]))),Je=m.a.h1(Re||(Re=Object(g.a)([" \n\n margin-bottom: 24px;\n font-size: 48px;\n line-height: 1.1;\n font-weight: 600;\n color: ",";\n \n @media screen and (max-width: 480px)\n {\n font-size: 32px;\n }\n"])),(e=>{let{lightText:i}=e;return i?"#f7f8fa":"#010606"})),$e=m.a.p(Be||(Be=Object(g.a)([" \n max-width: 440px;\n margin-bottom: 35px;\n font-size: 18px;\n line-height: 24px;\n color: ",";\n\n"])),(e=>{let{darkText:i}=e;return i?"#010606":"#fff"})),ei=(m.a.div(Ee||(Ee=Object(g.a)(["\n display: flex;\n justify-content: flex-start;\n"]))),m.a.div(Ve||(Ve=Object(g.a)([" \n max-width: 555px;\n height: 100%;\n"])))),ii=m.a.img(Ue||(Ue=Object(g.a)(["\n width: 100%;\n margin-top: 0;\n margin-right: 0;\n margin-left: 10px;\n padding-right: 0;\n"])));var ni=n.p+"static/media/coding.e33bff69.svg";var ti,ri,oi,ci,li,si,ai,di,bi,ji,hi,xi,pi,Oi,gi=()=>Object(P.jsx)(P.Fragment,{children:Object(P.jsx)(qe,{lightBg:!1,id:"Notebooks",children:Object(P.jsxs)(We,{children:[Object(P.jsxs)(Ze,{imgStart:!0,children:[Object(P.jsx)(He,{children:Object(P.jsxs)(Ke,{children:[Object(P.jsx)(Qe,{children:"Coding exercises"}),Object(P.jsx)(Je,{lightText:!0,children:"Python notebooks covering the whole text"}),Object(P.jsx)($e,{darkText:!1,children:"Sixty eight python notebook exercises with missing code to fill in based on the text"})]})}),Object(P.jsx)(Ye,{children:Object(P.jsx)(ei,{children:Object(P.jsx)(ii,{src:ni,alt:"Car"})})})]}),Object(P.jsxs)(Ze,{children:[Object(P.jsx)(He,{children:Object(P.jsxs)("ul",{children:[Object(P.jsxs)("li",{children:[" Notebook 1.1 - Background mathematics: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap01/1_1_BackgroundMathematics.ipynb",children:"ipynb/colab"})]}),Object(P.jsxs)("li",{children:[" Notebook 2.1 - Supervised learning: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap02/2_1_Supervised_Learning.ipynb",children:"ipynb/colab"})]}),Object(P.jsxs)("li",{children:[" Notebook 3.1 - Shallow networks I: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap03/3_1_Shallow_Networks_I.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 3.2 - Shallow networks II: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap03/3_2_Shallow_Networks_II.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 3.3 - Shallow network regions: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap03/3_3_Shallow_Network_Regions.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 3.4 - Activation functions: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap03/3_4_Activation_Functions.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 4.1 - Composing networks: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap04/4_1_Composing_Networks.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 4.2 - Clipping functions: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap04/4_2_Clipping_functions.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 4.3 - Deep networks: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap04/4_3_Deep_Networks.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 5.1 - Least squares loss: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap05/5_1_Least_Squares_Loss.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 5.2 - Binary cross-entropy loss: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap05/5_2_Binary_Cross_Entropy_Loss.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 5.3 - Multiclass cross-entropy loss: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap05/5_3_Multiclass_Cross_entropy_Loss.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 6.1 - Line search: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap06/6_1_Line_Search.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 6.2 - Gradient descent: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap06/6_2_Gradient_Descent.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 6.3 - Stochastic gradient descent: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap06/6_3_Stochastic_Gradient_Descent.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 6.4 - Momentum: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap06/6_4_Momentum.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 6.5 - Adam: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap06/6_5_Adam.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 7.1 - Backpropagation in toy model: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap07/7_1_Backpropagation_in_Toy_Model.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 7.2 - Backpropagation: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap07/7_2_Backpropagation.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 7.3 - Initialization: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap07/7_3_Initialization.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 8.1 - MNIST-1D performance: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap08/8_1_MNIST_1D_Performance.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 8.2 - Bias-variance trade-off: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap08/8_2_Bias_Variance_Trade_Off.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 8.3 - Double descent: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap08/8_3_Double_Descent.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 8.4 - High-dimensional spaces: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap08/8_4_High_Dimensional_Spaces.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 9.1 - L2 regularization: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap09/9_1_L2_Regularization.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 9.2 - Implicit regularization: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap09/9_2_Implicit_Regularization.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 9.3 - Ensembling: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap09/9_3_Ensembling.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 9.4 - Bayesian approach: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap09/9_4_Bayesian_Approach.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 9.5 - Augmentation ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap09/9_5_Augmentation.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 10.1 - 1D convolution: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap10/10_1_1D_Convolution.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 10.2 - Convolution for MNIST-1D: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap10/10_2_Convolution_for_MNIST_1D.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 10.3 - 2D convolution: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap10/10_3_2D_Convolution.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 10.4 - Downsampling & upsampling: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap10/10_4_Downsampling_and_Upsampling.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 10.5 - Convolution for MNIST: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap10/10_5_Convolution_For_MNIST.ipynb",children:"ipynb/colab "})]})]})}),Object(P.jsx)(Ye,{children:Object(P.jsxs)("ul",{children:[Object(P.jsxs)("li",{children:[" Notebook 11.1 - Shattered gradients: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap11/11_1_Shattered_Gradients.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 11.2 - Residual networks: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap11/11_2_Residual_Networks.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 11.3 - Batch normalization: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap11/11_3_Batch_Normalization.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 12.1 - Self-attention: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap12/12_1_Self_Attention.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 12.2 - Multi-head self-attention: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap12/12_2_Multihead_Self_Attention.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 12.3 - Tokenization: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap12/12_3_Tokenization.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 12.4 - Decoding strategies: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap12/12_4_Decoding_Strategies.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 13.1 - Encoding graphs: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap13/13_1_Graph_Representation.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 13.2 - Graph classification : ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap13/13_2_Graph_Classification.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 13.3 - Neighborhood sampling: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap13/13_3_Neighborhood_Sampling.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 13.4 - Graph attention: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap13/13_4_Graph_Attention_Networks.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 15.1 - GAN toy example: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap15/15_1_GAN_Toy_Example.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 15.2 - Wasserstein distance: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap15/15_2_Wasserstein_Distance.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 16.1 - 1D normalizing flows: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap16/16_1_1D_Normalizing_Flows.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 16.2 - Autoregressive flows: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap16/16_2_Autoregressive_Flows.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 16.3 - Contraction mappings: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap16/16_3_Contraction_Mappings.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 17.1 - Latent variable models: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap17/17_1_Latent_Variable_Models.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 17.2 - Reparameterization trick: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap17/17_2_Reparameterization_Trick.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 17.3 - Importance sampling: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap17/17_3_Importance_Sampling.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 18.1 - Diffusion encoder: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap18/18_1_Diffusion_Encoder.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 18.2 - 1D diffusion model: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap18/18_2_1D_Diffusion_Model.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 18.3 - Reparameterized model: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap18/18_3_Reparameterized_Model.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 18.4 - Families of diffusion models: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap18/18_4_Families_of_Diffusion_Models.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 19.1 - Markov decision processes: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap19/19_1_Markov_Decision_Processes.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 19.2 - Dynamic programming: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap19/19_2_Dynamic_Programming.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 19.3 - Monte-Carlo methods: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap19/19_3_Monte_Carlo_Methods.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 19.4 - Temporal difference methods: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap19/19_4_Temporal_Difference_Methods.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 19.5 - Control variates: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap19/19_5_Control_Variates.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 20.1 - Random data: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap20/20_1_Random_Data.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 20.2 - Full-batch gradient descent: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap20/20_2_Full_Batch_Gradient_Descent.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 20.3 - Lottery tickets: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap20/20_3_Lottery_Tickets.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 20.4 - Adversarial attacks: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap20/20_4_Adversarial_Attacks.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 21.1 - Bias mitigation: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap21/21_1_Bias_Mitigation.ipynb",children:"ipynb/colab "})]}),Object(P.jsxs)("li",{children:[" Notebook 21.2 - Explainability: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap21/21_2_Explainability.ipynb",children:"ipynb/colab "})]})]})})]})]})})});const mi=m.a.div(ti||(ti=Object(g.a)([" \n color: #fff;\n /* background: #f9f9f9; */\n background: ",";\n\n @media screen and (max-width: 768px) {\n padding: 100px 0;\n }\n"])),(e=>{let{lightBg:i}=e;return i?"#57c6d1":"#010606"})),ui=m.a.div(ri||(ri=Object(g.a)(["\n display: grid ; \n z-index: 1;\n width: 100% ; \n max-width: 1100px;\n margin-right: auto;\n margin-left: auto;\n padding: 0 24px;\n justify-content: center;\n"]))),fi=m.a.div(oi||(oi=Object(g.a)([" \n display: grid; \n grid-auto-columns: minmax(auto, 1fr);\n align-items: center;\n grid-template-areas: ",";\n\n @media screen and (max-width: 768px){\n grid-template-areas: ",";\n }\n"])),(e=>{let{imgStart:i}=e;return i?"'col2 col1'":"'col1 col2'"}),(e=>{let{imgStart:i}=e;return i?"'col1' 'col2'":"'col1 col1' 'col2 col2'"})),ki=m.a.div(ci||(ci=Object(g.a)([" \n display: grid; \n grid-auto-columns: minmax(auto, 1fr);\n align-items: top;\n grid-template-areas: ",";\n\n @media screen and (max-width: 768px){\n grid-template-areas: ",";\n }\n"])),(e=>{let{imgStart:i}=e;return i?"'col2 col1'":"'col1 col2'"}),(e=>{let{imgStart:i}=e;return i?"'col1' 'col2'":"'col1 col1' 'col2 col2'"})),wi=m.a.div(li||(li=Object(g.a)([" \n margin-bottom: 15px;\n padding: 0 15px;\n grid-area: col1;\n"]))),vi=m.a.div(si||(si=Object(g.a)([" \n margin-bottom: 15px;\n padding: 0 15px;\n grid-area: col2;\n"]))),yi=m.a.div(ai||(ai=Object(g.a)(["\n max-width: 540px ; \n padding-top: 0;\n padding-bottom: 0;\n"]))),_i=m.a.p(di||(di=Object(g.a)([" \n color: #773c23;\n font-size: 16px;\n line-height: 16px;\n font-weight: 700;\n letter-spacing: 1.4px;\n text-transform: uppercase;\n margin-bottom: 16px;\n"]))),Ni=m.a.h1(bi||(bi=Object(g.a)([" \n\n margin-bottom: 24px;\n font-size: 48px;\n line-height: 1.1;\n font-weight: 600;\n color: ",";\n \n @media screen and (max-width: 480px)\n {\n font-size: 32px;\n }\n"])),(e=>{let{lightText:i}=e;return i?"#f7f8fa":"#010606"})),Pi=m.a.p(ji||(ji=Object(g.a)([" \n max-width: 440px;\n margin-bottom: 35px;\n font-size: 18px;\n line-height: 24px;\n color: ",";\n\n"])),(e=>{let{darkText:i}=e;return i?"#010606":"#fff"})),Di=(m.a.div(hi||(hi=Object(g.a)(["\n display: flex;\n justify-content: flex-start;\n"]))),m.a.div(xi||(xi=Object(g.a)([" \n max-width: 555px;\n height: 100%;\n"])))),Ci=m.a.img(pi||(pi=Object(g.a)(["\n width: 100%;\n margin-top: 0;\n margin-right: 0;\n margin-left: 10px;\n padding-right: 0;\n"]))),Si=m.a.div(Oi||(Oi=Object(g.a)([" \n z-index: 3; \n width: 100% ; \n max-width: 1100px;\n position: static;\n padding: 8px 0px;\n margin: 10px 0px;\n display: flex;\n flex-direction: column;\n align-items: left ; \n list-style-position: inside;\n"])));var Ti=n.p+"static/media/instructor.956f72a0.svg";var zi,Fi,Ii,Mi,Li,Ai,Gi,Ri,Bi,Ei,Vi,Ui,Xi,qi,Wi,Zi,Hi=()=>Object(P.jsx)(P.Fragment,{children:Object(P.jsx)(mi,{lightBg:!0,id:"Instructors",children:Object(P.jsxs)(ui,{children:[Object(P.jsxs)(fi,{imgStart:!1,children:[Object(P.jsx)(wi,{children:Object(P.jsxs)(yi,{children:[Object(P.jsx)(_i,{children:"Instructors"}),Object(P.jsx)(Ni,{lightText:!1,children:"Resources for instructors"}),Object(P.jsx)(Pi,{darkText:!0,children:"All the figures in vector and image formats, full slides for first twelve chapters, instructor answer booklet"})]})}),Object(P.jsx)(vi,{children:Object(P.jsx)(Di,{children:Object(P.jsx)(Ci,{src:Ti,alt:"Car"})})})]}),Object(P.jsxs)(ki,{children:[Object(P.jsxs)(wi,{children:[Object(P.jsx)(_i,{children:"Register"}),Object(P.jsx)("a",{href:"https://mitpress.ublish.com/request?cri=15055",children:"Register"})," with MIT Press for answer booklet.",Object(P.jsx)(Si,{}),Object(P.jsx)(_i,{children:"Full slides"}),Object(P.jsx)(Si,{children:"Slides for 20 lecture undergraduate deep learning course:"}),Object(P.jsx)(Si,{children:Object(P.jsxs)("ol",{children:[Object(P.jsxs)("li",{children:["Introduction ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=17RHb11BrydOvxSFNbRIomE1QKLVI087m",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Supervised Learning ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1491zkHULC7gDfqlV6cqUxyVYXZ-de-Ub",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Shallow Neural Networks ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1XkP1c9EhOBowla1rT1nnsDGMf2rZvrt7",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Deep Neural Networks ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1e2ejfZbbfMKLBv0v-tvBWBdI8gO3SSS1",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Loss Functions ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1fxQ_a1Q3eFPZ4kPqKbak6_emJK-JfnRH",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Fitting Models ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=17QQ5ZzXBtR_uCNCUU1gPRWWRUeZN9exW",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Computing Gradients ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1hC8JUCOaFWiw3KGn0rm7nW6mEq242QDK",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Initialization ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1tSjCeAVg0JCeBcPgDJDbi7Gg43Qkh9_d",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Performance ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1RVZW3KjEs0vNSGx3B2fdizddlr6I0wLl",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Regularization ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1LTicIKPRPbZRkkg6qOr1DSuOB72axood",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Convolutional Networks ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1bGVuwAwrofzZdfvj267elIzkYMIvYFj0",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Image Generation ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=14w31QqWRDix1GdUE-na0_E0kGKBhtKzs",children:"PPTX"})]}),Object(P.jsxs)("li",{children:["Transformers and LLMs ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1af6bTTjAbhDYfrDhboW7Fuv52Gk9ygKr",children:"PPTX"})]})]})})]}),Object(P.jsxs)(vi,{children:[Object(P.jsx)(_i,{children:"Figures"}),Object(P.jsx)(Si,{children:Object(P.jsxs)("ol",{children:[Object(P.jsxs)("li",{children:[" Introduction: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap1PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1udnl5pUOAc8DcAQ7HQwyzP9pwL95ynnv",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1IjTqIUvWCJc71b5vEJYte-Dwujcp7rvG/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX "})]}),Object(P.jsxs)("li",{children:[" Supervised learning: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap2PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1VSxcU5y1qNFlmd3Lb3uOWyzILuOj1Dla",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1Br7R01ROtRWPlNhC_KOommeHAWMBpWtz/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Shallow neural networks: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap3PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=19kZFWlXhzN82Zx02ByMmSZOO4T41fmqI",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1e9M3jB5I9qZ4dCBY90Q3Hwft_i068QVQ/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Deep neural networks: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap4PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1ojr0ebsOhzvS04ItAflX2cVmYqHQHZUa",children:" SVG"}),"/",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1LTSsmY4mMrJbqXVvoTOCkQwHrRKoYnJj/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Loss functions: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap5PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=17MJO7fiMpFZVqKeqXTbQ36AMpmR4GizZ",children:"SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1gcpC_3z9oRp87eMkoco-kdLD-MM54Puk/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Training models: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap6PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1VPdhFRnCr9_idTrX0UdHKGAw2shUuwhK",children:"SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1AKoeggAFBl9yLC7X5tushAGzCCxmB7EY/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Gradients and initialization: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap7PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1TTl4gvrTvNbegnml4CoGoKOOd6O8-PGs",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/11zhB6PI-Dp6Ogmr4IcI6fbvbqNqLyYcz/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Measuring performance: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap8PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=19eQOnygd_l0DzgtJxXuYnWa4z7QKJrJx",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1SHRmJscDLUuQrG7tmysnScb3ZUAqVMZo/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Regularization: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap9PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1LprgnUGL7xAM9-jlGZC9LhMPeefjY0r0",children:"SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1VwIfvjpdfTny6sEfu4ZETwCnw6m8Eg-5/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Convolutional networks: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap10PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1-Wb3VzaSvVeRzoUzJbI2JjZE0uwqupM9",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1MtfKBC4Y9hWwGqeP6DVwUNbi1j5ncQCg/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Residual networks: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap11PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1Mr58jzEVseUAfNYbGWCQyDtEDwvfHRi1",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1saY8Faz0KTKAAifUrbkQdLA2qkyEjOPI/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Transformers: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap12PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1txzOVNf8-jH4UfJ6SLnrtOfPd1Q3ebzd",children:"SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1GVNvYWa0WJA6oKg89qZre-UZEhABfm0l/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Graph neural networks: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap13PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1lQIV6nRp6LVfaMgpGFhuwEXG-lTEaAwe",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1YwF3U82c1mQ74c1WqHVTzLZ0j7GgKaWP/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Unsupervised learning: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap14PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1aMbI6iCuUvOywqk5pBOmppJu1L1anqsM",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1A-lBGv3NHl4L32NvfFgy1EKeSwY-0UeB/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" GANs: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap15PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1EErnlZCOlXc3HK7m83T2Jh_0NzIUHvtL",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/10Ernk41ShOTf4IYkMD-l4dJfKATkXH4w/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Normalizing flows: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap16PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1B9bxtmdugwtg-b7Y4AdQKAIEVWxjx8l3",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1nLLzqb9pdfF_h6i1HUDSyp7kSMIkSUUA/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Variational autoencoders: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap17PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1SNtNIY7khlHQYMtaOH-FosSH3kWwL4b7",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1lQE4Bu7-LgvV2VlJOt_4dQT-kusYl7Vo/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Diffusion models: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap18PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1A-pIGl4PxjVMYOKAUG3aT4a8wD3G-q_r",children:" SVG"})," /",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1x_ufIBtVPzWUvRieKMkpw5SdRjXWwdfR/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Deep reinforcement learning: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap19PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1a5WUoF7jeSgwC_PVdckJi1Gny46fCqh0",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1TnYmVbFNhmMFetbjyfXGmkxp1EHauMqr/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX "})]}),Object(P.jsxs)("li",{children:[" Why does deep learning work?: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap20PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1M2d0DHEgddAQoIedKSDTTt7m1ZdmBLQ3",children:" SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1coxF4IsrCzDTLrNjRagHvqB_FBy10miA/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Deep learning and ethics: ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap21PDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1jixmFfwmZkW_UVYzcxmDcMsdFFtnZ0bU",children:"SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1EtfzanZYILvi9_-Idm28zD94I_6OrN9R/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]}),Object(P.jsxs)("li",{children:[" Appendices - ",Object(P.jsx)("a",{href:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLAppendixPDF.zip",children:"PDF"})," / ",Object(P.jsx)("a",{href:"https://drive.google.com/uc?export=download&id=1k2j7hMN40ISPSg9skFYWFL3oZT7r8v-l",children:"SVG"})," / ",Object(P.jsx)("a",{href:"https://docs.google.com/presentation/d/1_2cJHRnsoQQHst0rwZssv-XH4o5SEHks/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true",children:"PPTX"})]})]})}),Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1T_MXXVR4AfyMnlEFI-UVDh--FXI5deAp/view?usp=sharing",children:"Instructions"})," for editing equations in figures.",Object(P.jsx)(Si,{})]})]})]})})});const Yi=m.a.footer(zi||(zi=Object(g.a)([" \n background-color: #101522;\n"]))),Ki=m.a.div(Fi||(Fi=Object(g.a)([" \n padding: 48x 24px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n max-width: 1100px;\n margin: 0 auto;\n"]))),Qi=(m.a.div(Ii||(Ii=Object(g.a)([" \n display: flex;\n justify-content: center;\n\n @media screen and (max-width: 820px){\n padding-top: 32px;\n }\n"]))),m.a.div(Mi||(Mi=Object(g.a)([" \n display: flex;\n @media screen and (max-width: 820px){\n flex-direction: column;\n }\n"]))),m.a.div(Li||(Li=Object(g.a)([" \n display: flex;\n flex-direction: column;\n align-items: flex-start;\n margin: 16px;\n text-align: left;\n width: 160px;\n box-sizing: border-box;\n color: #fff;\n\n @media screen and (max-width: 420px){\n margin: 0;\n padding: 10px;\n width: 100%;\n }\n"]))),m.a.h1(Ai||(Ai=Object(g.a)([" \n font-size: 14px;\n margin-bottom: 16px ; \n"]))),Object(m.a)(p.b)(Gi||(Gi=Object(g.a)(["\n color: #ffffff;\n text-decoration: none;\n margin-bottom: 0.5rem;\n font-size: 14px;\n\n &:hover{\n color: #01bf71;\n transition: 0.3s ease-in-out;\n }\n"]))),m.a.section(Ri||(Ri=Object(g.a)([" \n max-width: 1000px;\n width: 100%;\n"])))),Ji=m.a.div(Bi||(Bi=Object(g.a)([" \n display: flex;\n justify-content: space-between;\n align-items: center;\n max-width: 1100px; \n margin: 20px auto 0 auto ; \n\n @media screen and (max-width: 820px){\n flex-direction: column;\n }\n"]))),$i=(m.a.div(Ei||(Ei=Object(g.a)([" \n color: #fff;\n display: flex;\n justify-content: center;\n align-items: center;\n max-width: 1100px; \n margin: 10px auto 0 auto ; \n\n @media screen and (max-width: 820px){\n flex-direction: column;\n }\n"]))),Object(m.a)(p.b)(Vi||(Vi=Object(g.a)([" \n color: #fff;\n justify-self: start;\n cursor: pointer;\n text-decoration: none;\n font-size: 1.5rem;\n display: flex;\n align-items: center;\n margin-bottom: 16px;\n font-weight: bold;\n"])))),en=m.a.small(Ui||(Ui=Object(g.a)([" \n color: #fff ; \n margin-bottom: 8px ; \n"]))),nn=m.a.div(Xi||(Xi=Object(g.a)(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 60px;\n margin-bottom: 8px ; \n"]))),tn=m.a.a(qi||(qi=Object(g.a)([" \n color: #fff;\n font-size: 24px;\n"]))),rn=(m.a.div(Wi||(Wi=Object(g.a)([" \n max-width: 555px;\n height: 100%;\n"]))),m.a.img(Zi||(Zi=Object(g.a)(["\n width: 100%;\n margin-top: 0;\n margin-right: 0;\n margin-left: 10px;\n padding-right: 0;\n"]))));var on=n.p+"static/media/square-x-twitter.a2a6cc67.svg";var cn,ln,sn,an,dn,bn,jn,hn,xn,pn,On,gn,mn,un,fn,kn=()=>Object(P.jsx)(P.Fragment,{children:Object(P.jsx)(Yi,{children:Object(P.jsx)(Ki,{children:Object(P.jsx)(Qi,{children:Object(P.jsxs)(Ji,{children:[Object(P.jsx)($i,{to:"/",onClick:()=>{u.animateScroll.scrollToTop()},children:"Understanding Deep Learning"}),Object(P.jsxs)(en,{children:["\xa9",(new Date).getFullYear()," Simon J.D. Prince"]}),Object(P.jsxs)(en,{children:["Images by StorySet on FreePik: ",Object(P.jsx)("a",{href:"https://www.freepik.com/free-vector/hand-coding-concept-illustration_21864184.htm#query=coding&position=17&from_view=search&track=sph&uuid=5896d847-38e4-4cb9-8fe1-103041c7c933",children:" [1] "})," ",Object(P.jsx)("a",{href:"https://www.freepik.com/free-vector/mathematics-concept-illustration_10733824.htm#query=professor&position=13&from_view=search&track=sph&uuid=5b1a188a-64c5-45af-aae2-8573bc1bed3c",children:"[2]"})," ",Object(P.jsx)("a",{href:"https://www.freepik.com/free-vector/content-concept-illustration_7171429.htm#query=media&position=3&from_view=search&track=sph&uuid=c7e35cf2-d85d-4bba-91a6-1cd883dcf153",children:" [3]"})," ",Object(P.jsx)("a",{href:"https://www.freepik.com/free-vector/library-concept-illustration_9148008.htm#query=library&position=40&from_view=search&track=sph&uuid=abecc792-b6b2-4ec0-b318-5e6cc73ba649",children:" [4]"})]}),Object(P.jsxs)(nn,{children:[Object(P.jsx)(tn,{href:"https://twitter.com/SimonPrinceAI",target:"_blank","aria-label":"Twitter",children:Object(P.jsx)(rn,{src:on,alt:"twitter"})}),Object(P.jsx)(tn,{href:"https://www.linkedin.com/in/simon-prince-615bb9165/",target:"_blank","aria-label":"LinkedIn",children:Object(P.jsx)(f.b,{})})]})]})})})})});const wn=m.a.div(cn||(cn=Object(g.a)([" \n color: #fff;\n /* background: #f9f9f9; */\n background: ",";\n\n @media screen and (max-width: 768px) {\n padding: 100px 0;\n }\n"])),(e=>{let{lightBg:i}=e;return i?"#f9f9f9":"#010606"})),vn=m.a.div(ln||(ln=Object(g.a)(["\n display: grid ; \n z-index: 1;\n width: 100% ; \n max-width: 1100px;\n margin-right: auto;\n margin-left: auto;\n padding: 0 24px;\n justify-content: center;\n"]))),yn=m.a.div(sn||(sn=Object(g.a)([" \n display: grid; \n grid-auto-columns: minmax(auto, 1fr);\n align-items: center;\n grid-template-areas: ",";\n\n @media screen and (max-width: 768px){\n grid-template-areas: ",";\n }\n"])),(e=>{let{imgStart:i}=e;return i?"'col2 col1'":"'col1 col2'"}),(e=>{let{imgStart:i}=e;return i?"'col1' 'col2'":"'col1 col1' 'col2 col2'"})),_n=m.a.div(an||(an=Object(g.a)([" \n margin-bottom: 15px;\n padding: 0 15px;\n grid-area: col1;\n"]))),Nn=m.a.div(dn||(dn=Object(g.a)([" \n margin-bottom: 15px;\n padding: 0 15px;\n grid-area: col2;\n"]))),Pn=m.a.div(bn||(bn=Object(g.a)(["\n max-width: 540px ; \n padding-top: 0;\n padding-bottom: 0;\n"]))),Dn=m.a.p(jn||(jn=Object(g.a)([" \n color: #57c6d1;\n font-size: 16px;\n line-height: 16px;\n font-weight: 700;\n letter-spacing: 1.4px;\n text-transform: uppercase;\n margin-bottom: 16px;\n"]))),Cn=m.a.h1(hn||(hn=Object(g.a)([" \n\n margin-bottom: 24px;\n font-size: 48px;\n line-height: 1.1;\n font-weight: 600;\n color: ",";\n \n @media screen and (max-width: 480px)\n {\n font-size: 32px;\n }\n"])),(e=>{let{lightText:i}=e;return i?"#f7f8fa":"#010606"})),Sn=m.a.p(xn||(xn=Object(g.a)([" \n max-width: 440px;\n margin-bottom: 35px;\n font-size: 18px;\n line-height: 24px;\n color: ",";\n\n"])),(e=>{let{darkText:i}=e;return i?"#010606":"#fff"})),Tn=(m.a.div(pn||(pn=Object(g.a)(["\n display: flex;\n justify-content: flex-start;\n"]))),m.a.div(On||(On=Object(g.a)([" \n max-width: 555px;\n height: 100%;\n"])))),zn=m.a.img(gn||(gn=Object(g.a)(["\n width: 100%;\n margin-top: 0;\n margin-right: 0;\n margin-left: 10px;\n padding-right: 0;\n"]))),Fn=(m.a.div(mn||(mn=Object(g.a)(["\n@media screen and (max-width: 768px) {\n font-size: 24px;\n}\n\n@media screen and (max-width: 480px) {\n font-size: 18px;\n}\n"]))),m.a.div(un||(un=Object(g.a)([" \n z-index: 3; \n width: 100% ; \n max-width: 1100px;\n position: static;\n padding: 8px 0px;\n margin: 10px 0px;\n display: flex;\n flex-direction: column;\n align-items: left ; \n list-style-position: inside;\n"])))),In=m.a.div(fn||(fn=Object(g.a)([" \n display: grid; \n grid-auto-columns: minmax(auto, 1fr);\n align-items: top;\n grid-template-areas: ",";\n\n @media screen and (max-width: 768px){\n grid-template-areas: ",";\n }\n"])),(e=>{let{imgStart:i}=e;return i?"'col2 col1'":"'col1 col2'"}),(e=>{let{imgStart:i}=e;return i?"'col1' 'col2'":"'col1 col1' 'col2 col2'"}));var Mn=n.p+"static/media/media.9f345230.svg";var Ln,An,Gn,Rn,Bn,En,Vn,Un,Xn,qn,Wn,Zn,Hn,Yn,Kn,Qn,Jn,$n,et=()=>Object(P.jsx)(P.Fragment,{children:Object(P.jsx)(wn,{lightBg:!1,id:"Media",children:Object(P.jsxs)(vn,{children:[Object(P.jsxs)(yn,{imgStart:!0,children:[Object(P.jsx)(_n,{children:Object(P.jsxs)(Pn,{children:[Object(P.jsx)(Dn,{children:"Media"}),Object(P.jsx)(Cn,{lightText:!0,children:" Reviews, videos, podcasts, interviews"}),Object(P.jsx)(Sn,{darkText:!1,children:"Various resources connected to the book"})]})}),Object(P.jsx)(Nn,{children:Object(P.jsx)(Tn,{children:Object(P.jsx)(zn,{src:Mn,alt:"Car"})})})]}),Object(P.jsxs)(yn,{children:[Object(P.jsxs)(_n,{children:["Machine learning street talk podcast",Object(P.jsx)("iframe",{width:"560",height:"315",src:"https://www.youtube.com/embed/sJXn4Cl4oww?si=Lm_hQPqj0RXy-75H&controls=0",title:"YouTube video player",frameborder:"2",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:!0})]}),Object(P.jsxs)(Nn,{children:["Deeper insights podcast",Object(P.jsx)("iframe",{width:"560",height:"315",src:"https://www.youtube.com/embed/nQf4o9TDSHI?si=uMk66zLD7uhuSnQ1&controls=0",title:"YouTube video player",frameborder:"2",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:!0})]})]}),Object(P.jsxs)(In,{children:[Object(P.jsxs)(_n,{children:[Object(P.jsx)(Dn,{children:"Reviews"}),Object(P.jsx)(Fn,{children:Object(P.jsxs)("ul",{children:[Object(P.jsxs)("li",{children:[" Amazon ",Object(P.jsx)("a",{href:"https://www.amazon.com/Understanding-Deep-Learning-Simon-Prince-ebook/product-reviews/B0BXKH8XY6/",children:"reviews"})]}),Object(P.jsxs)("li",{children:["Goodreads ",Object(P.jsx)("a",{href:"https://www.goodreads.com/book/show/123239819-understanding-deep-learning?",children:"reviews "})]}),Object(P.jsxs)("li",{children:["Book ",Object(P.jsx)("a",{href:"https://medium.com/@vishalvignesh/udl-book-review-the-new-deep-learning-textbook-youll-want-to-finish-69e1557b018d",children:"review"})," by Vishal V."]})]})})]}),Object(P.jsxs)(Nn,{children:[Object(P.jsx)(Dn,{children:"Interviews"}),Object(P.jsx)(Fn,{children:Object(P.jsxs)("ul",{children:[Object(P.jsxs)("li",{children:["Borealis AI ",Object(P.jsx)("a",{href:"https://www.borealisai.com/news/understanding-deep-learning/",children:"interview"})]}),Object(P.jsxs)("li",{children:["Shepherd ML book ",Object(P.jsx)("a",{href:"https://shepherd.com/best-books/machine-learning-and-deep-neural-networks",children:"recommendations"})]})]})})]})]})]})})});const it=m.a.div(Ln||(Ln=Object(g.a)([" \n color: #fff;\n /* background: #f9f9f9; */\n background: ",";\n\n @media screen and (max-width: 768px) {\n padding: 100px 0;\n }\n"])),(e=>{let{lightBg:i}=e;return i?"#57c6d1":"#010606"})),nt=m.a.div(An||(An=Object(g.a)(["\n display: grid ; \n z-index: 1;\n // height: 1050px ; \n width: 100% ; \n max-width: 1100px;\n margin-right: auto;\n margin-left: auto;\n padding: 0 24px;\n justify-content: center;\n"]))),tt=m.a.div(Gn||(Gn=Object(g.a)([" \n display: grid; \n grid-auto-columns: minmax(auto, 1fr);\n align-items: center;\n grid-template-areas: ",";\n\n @media screen and (max-width: 768px){\n grid-template-areas: ",";\n }\n"])),(e=>{let{imgStart:i}=e;return i?"'col2 col1'":"'col1 col2'"}),(e=>{let{imgStart:i}=e;return i?"'col1' 'col2'":"'col1 col1' 'col2 col2'"})),rt=m.a.div(Rn||(Rn=Object(g.a)([" \n display: grid; \n grid-auto-columns: minmax(auto, 1fr);\n align-items: top;\n grid-template-areas: ",";\n\n @media screen and (max-width: 768px){\n grid-template-areas: ",";\n }\n"])),(e=>{let{imgStart:i}=e;return i?"'col2 col1'":"'col1 col2'"}),(e=>{let{imgStart:i}=e;return i?"'col1' 'col2'":"'col1 col1' 'col2 col2'"})),ot=m.a.div(Bn||(Bn=Object(g.a)([" \n margin-bottom: 15px;\n padding: 0 15px;\n grid-area: col1;\n"]))),ct=m.a.div(En||(En=Object(g.a)([" \n margin-bottom: 15px;\n padding: 0 15px;\n grid-area: col2;\n"]))),lt=m.a.div(Vn||(Vn=Object(g.a)(["\n max-width: 540px ; \n padding-top: 0;\n padding-bottom: 0;\n"]))),st=m.a.p(Un||(Un=Object(g.a)([" \n color: #773c23;\n font-size: 16px;\n line-height: 16px;\n font-weight: 700;\n letter-spacing: 1.4px;\n text-transform: uppercase;\n margin-bottom: 12px;\n margin-top: 16px ; \n"]))),at=m.a.h1(Xn||(Xn=Object(g.a)([" \n\n margin-bottom: 24px;\n font-size: 48px;\n line-height: 1.1;\n font-weight: 600;\n color: ",";\n \n @media screen and (max-width: 480px)\n {\n font-size: 32px;\n }\n"])),(e=>{let{lightText:i}=e;return i?"#f7f8fa":"#010606"})),dt=m.a.p(qn||(qn=Object(g.a)([" \n max-width: 440px;\n margin-bottom: 35px;\n font-size: 18px;\n line-height: 24px;\n color: ",";\n\n"])),(e=>{let{darkText:i}=e;return i?"#010606":"#fff"})),bt=(m.a.div(Wn||(Wn=Object(g.a)(["\n display: flex;\n justify-content: flex-start;\n"]))),m.a.div(Zn||(Zn=Object(g.a)([" \n max-width: 555px;\n height: 100%;\n"])))),jt=m.a.img(Hn||(Hn=Object(g.a)(["\n width: 100%;\n margin-top: 0;\n margin-right: 0;\n margin-left: 10px;\n padding-right: 0;\n"]))),ht=(m.a.div(Yn||(Yn=Object(g.a)([" \n z-index: 3; \n width: 100% ; \n max-width: 1100px;\n position: static;\n padding: 8px 0px;\n margin: 10px 0px;\n display: flex;\n flex-direction: column;\n align-items: left ; \n list-style-position: inside;\n"]))),m.a.ul(Kn||(Kn=Object(g.a)(["\n // list-style:none;\n list-style-position: inside;\n margin:0;\n"])))),xt=m.a.ul(Qn||(Qn=Object(g.a)(["\n list-style-position: inside;\n"]))),pt=m.a.p(Jn||(Jn=Object(g.a)(["\n padding-left: 18px;\n padding-bottom: 10px ; \n padding-top: 3px ; \n font-size:14px;\n color: #fff\n"])));m.a.a($n||($n=Object(g.a)(["\n color: #fff;\n text-decoration: none;\n padding: 0.1rem 0rem;\n height: 100%;\n cursor: pointer;\n\n &:hover {\n filter: brightness(0.85);\n }\n\n &.active {\n color: #000\n border-bottom: 3px solid #01bf71;\n }\n"])));var Ot=n.p+"static/media/more.306a6229.svg";var gt=()=>Object(P.jsx)(P.Fragment,{children:Object(P.jsx)(it,{lightBg:!0,id:"More",children:Object(P.jsxs)(nt,{children:[Object(P.jsxs)(tt,{imgStart:!1,children:[Object(P.jsx)(ot,{children:Object(P.jsxs)(lt,{children:[Object(P.jsx)(st,{children:"More"}),Object(P.jsx)(at,{lightText:!1,children:"Further reading"}),Object(P.jsx)(dt,{darkText:!0,children:"Other articles, blogs, and books that I have written. Most in a similar style and using the same notation as Understanding Deep Learning. "})]})}),Object(P.jsx)(ct,{children:Object(P.jsx)(bt,{children:Object(P.jsx)(jt,{src:Ot,alt:"Car"})})})]}),Object(P.jsxs)(rt,{children:[Object(P.jsxs)(ot,{children:[Object(P.jsx)(st,{children:"Book"}),Object(P.jsx)(ht,{children:Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"http://computervisionmodels.com",target:"_blank",rel:"noreferrer",children:"Computer vision: models, learning, and inference"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" 2012 book published with CUP "}),Object(P.jsx)("li",{children:" Focused on probabilistic models "}),Object(P.jsx)("li",{children:' Pre-"deep learning" '}),Object(P.jsx)("li",{children:" Lots of ML content"}),Object(P.jsx)("li",{children:" Individual chapters available below"})]})})]})}),Object(P.jsx)(st,{children:"Transformers & LLMs"}),Object(P.jsxs)(ht,{children:[Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/research-blogs/a-high-level-overview-of-large-language-models/",target:"_blank",rel:"noreferrer",children:"Intro to LLMs"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" What is an LLM?"}),Object(P.jsx)("li",{children:" Pretraining"}),Object(P.jsx)("li",{children:" Instruction fine-tuning"}),Object(P.jsx)("li",{children:" Reinforcement learning from human feedback"}),Object(P.jsx)("li",{children:" Notable LLMs"}),Object(P.jsx)("li",{children:" LLMs without training from scratch"})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-14-transformers-i-introduction/",target:"_blank",rel:"noreferrer",children:"Transformers I"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Dot-Product self-attention "}),Object(P.jsx)("li",{children:" Scaled dot-product self-attention "}),Object(P.jsx)("li",{children:" Position encoding"}),Object(P.jsx)("li",{children:" Multiple heads "}),Object(P.jsx)("li",{children:" Transformer block "}),Object(P.jsx)("li",{children:" Encoders "}),Object(P.jsx)("li",{children:" Decoders "}),Object(P.jsx)("li",{children:" Encoder-Decoders "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-16-transformers-ii-extensions/",target:"_blank",rel:"noreferrer",children:"Transformers II"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Sinusoidal position embeddings "}),Object(P.jsx)("li",{children:" Learned position embeddings "}),Object(P.jsx)("li",{children:" Relatives vs. absolute position embeddings"}),Object(P.jsx)("li",{children:" Extending transformers to longer sequences "}),Object(P.jsx)("li",{children:" Reducing attention matrix size "}),Object(P.jsx)("li",{children:" Making attention matrix sparse "}),Object(P.jsx)("li",{children:" Kernelizing attention computation "}),Object(P.jsx)("li",{children:" Attention as an RNN"}),Object(P.jsx)("li",{children:" Attention as a hypernetwork "}),Object(P.jsx)("li",{children:" Attention as a routing network "}),Object(P.jsx)("li",{children:" Attention and graphs "}),Object(P.jsx)("li",{children:" Attention and convolutions "}),Object(P.jsx)("li",{children:" Attention and gating "}),Object(P.jsx)("li",{children:" Attention and memory retrieval "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-17-transformers-iii-training/",target:"_blank",rel:"noreferrer",children:"Transformers III"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Tricks for training transformers "}),Object(P.jsx)("li",{children:" Why are these tricks required? "}),Object(P.jsx)("li",{children:" Removing layer normalization"}),Object(P.jsx)("li",{children:" Balancing residual dependencies "}),Object(P.jsx)("li",{children:" Reducing optimizer variance "}),Object(P.jsx)("li",{children:" How to train deeper transformers on small datasets "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/research-blogs/training-and-fine-tuning-large-language-models/",target:"_blank",rel:"noreferrer",children:"Training and fine-tuning LLMs"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Large language models "}),Object(P.jsx)("li",{children:" Pretraining "}),Object(P.jsx)("li",{children:" Supervised fine tuning"}),Object(P.jsx)("li",{children:" Reinforcement learning from human feedback "}),Object(P.jsx)("li",{children:" Direct preference optimization"})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/research-blogs/speeding-up-inference-in-transformers/",target:"_blank",rel:"noreferrer",children:"Speeding up inference in LLMs"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Problems with transformers"}),Object(P.jsx)("li",{children:" Attention-free transformers "}),Object(P.jsx)("li",{children:" Complexity"}),Object(P.jsx)("li",{children:" RWKV "}),Object(P.jsx)("li",{children:" Linear transformers and performers"}),Object(P.jsx)("li",{children:" Retentive network"})]})})]})]}),Object(P.jsx)(st,{children:"Math for machine learning"}),Object(P.jsxs)(ht,{children:[Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1j2v2n6STPnblOCZ1_GBcVAZrsYkjPYwR/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Linear algebra"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Vectors and matrices "}),Object(P.jsx)("li",{children:" Determinant and trace "}),Object(P.jsx)("li",{children:" Orthogonal matrices "}),Object(P.jsx)("li",{children:" Null space "}),Object(P.jsx)("li",{children:" Linear transformations "}),Object(P.jsx)("li",{children:" Singular value decomposition "}),Object(P.jsx)("li",{children:" Least squares problems "}),Object(P.jsx)("li",{children:" Principal direction problems "}),Object(P.jsx)("li",{children:" Inversion of block matrices"}),Object(P.jsx)("li",{children:" Schur complement identity"}),Object(P.jsx)("li",{children:" Sherman-Morrison-Woodbury"}),Object(P.jsx)("li",{children:" Matrix determinant lemma"})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1cmxXneW122-hcfmMRjEE-n5C9T2YvuQX/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Introduction to probability"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Random variables "}),Object(P.jsx)("li",{children:" Joint probability "}),Object(P.jsx)("li",{children:" Marginal probability "}),Object(P.jsx)("li",{children:" Conditional probability "}),Object(P.jsx)("li",{children:" Bayes' rule "}),Object(P.jsx)("li",{children:" Independence "}),Object(P.jsx)("li",{children:" Expectation "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1GI3eZNB1CjTqYHLyuRhCV215rwqANVOx/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Probability distributions"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Bernouilli distribution "}),Object(P.jsx)("li",{children:" Beta distribution"}),Object(P.jsx)("li",{children:" Categorical distribution "}),Object(P.jsx)("li",{children:" Dirichlet distribution"}),Object(P.jsx)("li",{children:" Univariate normal distribution "}),Object(P.jsx)("li",{children:" Normal inverse-scaled gamma distribution "}),Object(P.jsx)("li",{children:" Multivariate normal distribution "}),Object(P.jsx)("li",{children:" Normal inverse Wishart distribution "}),Object(P.jsx)("li",{children:" Conjugacy "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1DZ4rCmC7AZ8PFc51PiMUIkBO-xqKT_CG/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Fitting probability distributions"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Maximum likelihood "}),Object(P.jsx)("li",{children:" Maximum a posteriori "}),Object(P.jsx)("li",{children:" Bayesian approach "}),Object(P.jsx)("li",{children:" Example: fitting normal "}),Object(P.jsx)("li",{children:" Example: fitting categorical "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1CTfmsN-HJWZBRj8lY0ZhgHEbPCmYXWnA/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"The normal distribution"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Types of covariance matrix "}),Object(P.jsx)("li",{children:" Decomposition of covariance "}),Object(P.jsx)("li",{children:" Linear transformations "}),Object(P.jsx)("li",{children:" Marginal distributions "}),Object(P.jsx)("li",{children:" Conditional distributions "}),Object(P.jsx)("li",{children:" Product of two normals "}),Object(P.jsx)("li",{children:" Change of variable formula "})]})})]})]}),Object(P.jsx)(st,{children:"Optimization"}),Object(P.jsxs)(ht,{children:[Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1IoOSfJ0ku89aVyM9qygPl4MVnAhMEbAZ/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Gradient-based optimmization"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Convexity "}),Object(P.jsx)("li",{children:" Steepest descent "}),Object(P.jsx)("li",{children:" Newton's method "}),Object(P.jsx)("li",{children:" Gauss-Newton method "}),Object(P.jsx)("li",{children:" Line search "}),Object(P.jsx)("li",{children:" Reparameterization "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-8-bayesian-optimization/",target:"_blank",rel:"noreferrer",children:"Bayesian optimization"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Gaussian processes "}),Object(P.jsx)("li",{children:" Acquisition functions "}),Object(P.jsx)("li",{children:" Incorporating noise"}),Object(P.jsx)("li",{children:" Kernel choice "}),Object(P.jsx)("li",{children:" Learning GP parameters "}),Object(P.jsx)("li",{children:" Tips, tricks, and limitations "}),Object(P.jsx)("li",{children:" Beta-Bernoulli bandit "}),Object(P.jsx)("li",{children:" Random forests for BO "}),Object(P.jsx)("li",{children:" Tree-Parzen estimators "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-9-sat-solvers-i-introduction-and-applications/",target:"_blank",rel:"noreferrer",children:"SAT Solvers I"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Boolean logic and satisfiability "}),Object(P.jsx)("li",{children:" Conjunctive normal form "}),Object(P.jsx)("li",{children:" The Tseitin transformation "}),Object(P.jsx)("li",{children:" SAT and related problems "}),Object(P.jsx)("li",{children:" SAT constructions "}),Object(P.jsx)("li",{children:" Graph coloring and scheduling "}),Object(P.jsx)("li",{children:" Fitting binary neural networks"}),Object(P.jsx)("li",{children:" Fitting decision trees"})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-10-sat-solvers-ii-algorithms/",target:"_blank",rel:"noreferrer",children:"SAT Solvers II"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Conditioning "}),Object(P.jsx)("li",{children:" Resolution "}),Object(P.jsx)("li",{children:" Solving 2-SAT by unit propagation "}),Object(P.jsx)("li",{children:" Directional resolution "}),Object(P.jsx)("li",{children:" SAT as binary search "}),Object(P.jsx)("li",{children:" DPLL "}),Object(P.jsx)("li",{children:" Conflict driven clause learning"})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-11-sat-solvers-iii-factor-graphs-and-smt-solvers/",target:"_blank",rel:"noreferrer",children:"SAT Solvers III"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Satisfiability vs. problem size "}),Object(P.jsx)("li",{children:" Factor graph representation "}),Object(P.jsx)("li",{children:" Max product / sum product for SAT "}),Object(P.jsx)("li",{children:" Survey propagation "}),Object(P.jsx)("li",{children:" SAT with non-binary variables "}),Object(P.jsx)("li",{children:" SMT solvers "})]})})]})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-11-sat-solvers-iii-factor-graphs-and-smt-solvers/",target:"_blank",rel:"noreferrer",children:"SAT Solvers III"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Satisfiability vs. problem size "}),Object(P.jsx)("li",{children:" Factor graph representation "}),Object(P.jsx)("li",{children:" Max product / sum product for SAT "}),Object(P.jsx)("li",{children:" Survey propagation "}),Object(P.jsx)("li",{children:" SAT with non-binary variables "}),Object(P.jsx)("li",{children:" SMT solvers "})]})})]}),Object(P.jsx)(st,{children:"Computer vision"}),Object(P.jsxs)(ht,{children:[Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1r3V1GC5grhPF2pD91izuE0hTrTUEpQ9I/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Image Processing"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Whitening "}),Object(P.jsx)("li",{children:" Histogram equalization "}),Object(P.jsx)("li",{children:" Filtering "}),Object(P.jsx)("li",{children:" Edges and corners "}),Object(P.jsx)("li",{children:" Dimensionality reduction "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1dbMBE13MWcd84dEGjYeWsC6eXouoC0xn/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Pinhole camera"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Pinhole camera model "}),Object(P.jsx)("li",{children:" Radial distortion "}),Object(P.jsx)("li",{children:" Homogeneous coordinates "}),Object(P.jsx)("li",{children:" Learning extrinsic parameters "}),Object(P.jsx)("li",{children:" Learning intrinsic parameters "}),Object(P.jsx)("li",{children:" Inferring three-dimensional world points "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1UArrb1ovqvZHbv90MufkW372r__ZZACQ/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Geometric transformations"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Euclidean, similarity, affine, projective transformations "}),Object(P.jsx)("li",{children:" Fitting transformation models "}),Object(P.jsx)("li",{children:" Inference in transformation models "}),Object(P.jsx)("li",{children:" Three geometric problems for planes "}),Object(P.jsx)("li",{children:" Transformations between images "}),Object(P.jsx)("li",{children:" Robust learning of transformations "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1RqUoc7kvK8vqZF1NVuw7bIex9v4_QlSx/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Multiple cameras"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Two view geometry "}),Object(P.jsx)("li",{children:" The essential matrix "}),Object(P.jsx)("li",{children:" The fundamental matrix "}),Object(P.jsx)("li",{children:" Two-view reconstruction pipeline "}),Object(P.jsx)("li",{children:" Rectification "}),Object(P.jsx)("li",{children:" Multiview reconstruction "})]})})]})]}),Object(P.jsx)(st,{children:"Reinforcement learning"}),Object(P.jsx)(ht,{children:Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://arxiv.org/abs/2307.05979",target:"_blank",rel:"noreferrer",children:"Transformers in RL"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Challenges in RL"}),Object(P.jsx)("li",{children:" Advantages of transformers for RL"}),Object(P.jsx)("li",{children:" Representation learning"}),Object(P.jsx)("li",{children:" Transition function learning"}),Object(P.jsx)("li",{children:" Reward learning "}),Object(P.jsx)("li",{children:" Policy learning "}),Object(P.jsx)("li",{children:" Training strategy "}),Object(P.jsx)("li",{children:" Interpretability "}),Object(P.jsx)("li",{children:" Applications "})]})})]})})]}),Object(P.jsxs)(ct,{children:[Object(P.jsx)(st,{children:"AI Theory"}),Object(P.jsxs)(ht,{children:[Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/research-blogs/gradient-flow/",target:"_blank",rel:"noreferrer",children:"Gradient flow"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Gradient flow "}),Object(P.jsx)("li",{children:" Evolution of residual "}),Object(P.jsx)("li",{children:" Evolution of parameters "}),Object(P.jsx)("li",{children:" Evolution of model predictions "}),Object(P.jsx)("li",{children:" Evolution of prediction covariance "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/research-blogs/the-neural-tangent-kernel/",target:"_blank",rel:"noreferrer",children:"Neural tangent kernel"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Infinite width neural networks "}),Object(P.jsx)("li",{children:" Training dynamics "}),Object(P.jsx)("li",{children:" Empirical NTK for shallow network"}),Object(P.jsx)("li",{children:" Analytical NTK for shallow network "}),Object(P.jsx)("li",{children:" Empirical NTK for ddep network "}),Object(P.jsx)("li",{children:" Analtical NTK for deep network"})]})})]})]}),Object(P.jsx)(st,{children:"Temporal models"}),Object(P.jsx)(ht,{children:Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1rrzGNyZDjXQ3_9ZqCGDmRMM3GYtHSBvj/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Temporal models"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Kalman filter "}),Object(P.jsx)("li",{children:" Smoothing "}),Object(P.jsx)("li",{children:" Extended Kalman filter "}),Object(P.jsx)("li",{children:" Unscented Kalman filter "}),Object(P.jsx)("li",{children:" Particle filtering "})]})})]})}),Object(P.jsx)(st,{children:" Unsupervised learning"}),Object(P.jsxs)(ht,{children:[Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1BrPHxAuyz28hhz_FtbO0A1cWYdMs2_h8/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Modeling complex data densities"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Hidden variables "}),Object(P.jsx)("li",{children:" Expectation maximization "}),Object(P.jsx)("li",{children:" Mixture of Gaussians "}),Object(P.jsx)("li",{children:" The t-distribution "}),Object(P.jsx)("li",{children:" Factor analysis "}),Object(P.jsx)("li",{children:" The EM algorithm in detail "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-5-variational-auto-encoders/",target:"_blank",rel:"noreferrer",children:"Variational autoencoders"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Non-linear latent variable models "}),Object(P.jsx)("li",{children:" Evidence lower bound (ELBO) "}),Object(P.jsx)("li",{children:" ELBO properties "}),Object(P.jsx)("li",{children:" Variational approximation "}),Object(P.jsx)("li",{children:" The variational autoencoder "}),Object(P.jsx)("li",{children:" Reparameterization trick "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://arxiv.org/abs/1908.09257",target:"_blank",rel:"noreferrer",children:"Normalizing flows: introduction and review"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Normalizing flows "}),Object(P.jsx)("li",{children:" Elementwise and linear flows "}),Object(P.jsx)("li",{children:" Planar and radial flows "}),Object(P.jsx)("li",{children:" Coupling and auto-regressive flows "}),Object(P.jsx)("li",{children:" Coupling functions "}),Object(P.jsx)("li",{children:" Residual flows "}),Object(P.jsx)("li",{children:" Infinitesimal (continuous) flows "}),Object(P.jsx)("li",{children:" Datasets and performance "})]})})]})]}),Object(P.jsx)(st,{children:"Graphical Models"}),Object(P.jsxs)(ht,{children:[Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1ghgeRmeZMyzNHcuzVwS4vRP6BXi3npVO/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Graphical models"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Conditional independence "}),Object(P.jsx)("li",{children:" Directed graphical models "}),Object(P.jsx)("li",{children:" Undirected graphical models "}),Object(P.jsx)("li",{children:" Inference in graphical models "}),Object(P.jsx)("li",{children:" Sampling in graphical models "}),Object(P.jsx)("li",{children:" Learning in graphical models "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1WAMc3wtZoPv5wRkdF-D0SShVYF6Net84/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Models for chains and trees"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Hidden Markov models "}),Object(P.jsx)("li",{children:" Viterbi algorithm "}),Object(P.jsx)("li",{children:" Forward-backward algorithm "}),Object(P.jsx)("li",{children:" Belief propagation "}),Object(P.jsx)("li",{children:" Sum product algorithm "}),Object(P.jsx)("li",{children:" Extension to trees "}),Object(P.jsx)("li",{children:" Graphs with loops "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1qqS9OfA1z7t12M45UaBr4CSCj1jwzcwz/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Models for grids"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Markov random fields "}),Object(P.jsx)("li",{children:" MAP inference in binary pairwise MRFs "}),Object(P.jsx)("li",{children:" Graph cuts "}),Object(P.jsx)("li",{children:" Multi-label pairwise MRFs "}),Object(P.jsx)("li",{children:" Alpha-expansion algorithm "}),Object(P.jsx)("li",{children:" Conditional random fields "})]})})]})]}),Object(P.jsx)(st,{children:"Machine learning"}),Object(P.jsxs)(ht,{children:[Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1ArWWi-qbzK2ih6KpOeIF8wX5g3S4J5DY/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Learning and inference"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Discriminative models "}),Object(P.jsx)("li",{children:" Generative models "}),Object(P.jsx)("li",{children:" Example: regression "}),Object(P.jsx)("li",{children:" Example: classification "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1QZX5jm4xN8rhpvdjRsFP5Ybw1EXSNGaL/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Regression models"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Linear regression "}),Object(P.jsx)("li",{children:" Bayesian linear regression "}),Object(P.jsx)("li",{children:" Non-linear regression "}),Object(P.jsx)("li",{children:" Bayesian non-linear regression "}),Object(P.jsx)("li",{children:" The kernel trick "}),Object(P.jsx)("li",{children:" Gaussian process regression "}),Object(P.jsx)("li",{children:" Sparse linear regression "}),Object(P.jsx)("li",{children:" Relevance vector regression "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://drive.google.com/file/d/1-_f4Yfm8iBWcaZ2Gyjw6O0eZiODipmSV/view?usp=sharing",target:"_blank",rel:"noreferrer",children:"Classification models"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Logistic regression "}),Object(P.jsx)("li",{children:" Bayesian logistic regression "}),Object(P.jsx)("li",{children:" Non-linear logistic regression "}),Object(P.jsx)("li",{children:" Gaussian process classification "}),Object(P.jsx)("li",{children:" Relevance vector classification "}),Object(P.jsx)("li",{children:" Incremental fitting: boosting and trees "}),Object(P.jsx)("li",{children:" Multi-class logistic regression "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-2-few-shot-learning-and-meta-learning-i/",target:"_blank",rel:"noreferrer",children:"Few-shot learning and meta-learning I"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Meta-learning framework "}),Object(P.jsx)("li",{children:" Approaches to meta-learning "}),Object(P.jsx)("li",{children:" Matching networks "}),Object(P.jsx)("li",{children:" Prototypical networks "}),Object(P.jsx)("li",{children:" Relation networks "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-3-few-shot-learning-and-meta-learning-ii/",target:"_blank",rel:"noreferrer",children:"Few-shot learning and meta-learning II"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" MAML & Reptile "}),Object(P.jsx)("li",{children:" LSTM based meta-learning "}),Object(P.jsx)("li",{children:" Reinforcement learning based approaches"}),Object(P.jsx)("li",{children:" Memory augmented neural networks "}),Object(P.jsx)("li",{children:" SNAIL "}),Object(P.jsx)("li",{children:" Generative models "}),Object(P.jsx)("li",{children:" Data augmentation approaches "})]})})]})]}),Object(P.jsx)(st,{children:"Natural language processing"}),Object(P.jsxs)(ht,{children:[Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-6-neural-natural-language-generation-decoding-algorithms/",target:"_blank",rel:"noreferrer",children:"Neural natural language generation I"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Encoder-decoder architecture "}),Object(P.jsx)("li",{children:" Maximum-likelihood training "}),Object(P.jsx)("li",{children:" Greedy search "}),Object(P.jsx)("li",{children:" Beam search "}),Object(P.jsx)("li",{children:" Diverse beam search "}),Object(P.jsx)("li",{children:" Top-k sampling "}),Object(P.jsx)("li",{children:" Nucleus sampling "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-7-neural-natural-language-generation-sequence-level-training/",target:"_blank",rel:"noreferrer",children:"Neural natural language generation II"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Fine-tuning with reinforcement learning "}),Object(P.jsx)("li",{children:" Training from scratch with RL "}),Object(P.jsx)("li",{children:" RL vs. structured prediction "}),Object(P.jsx)("li",{children:" Minimum risk training "}),Object(P.jsx)("li",{children:" Scheduled sampling "}),Object(P.jsx)("li",{children:" Beam search optimization "}),Object(P.jsx)("li",{children:" SeaRNN "}),Object(P.jsx)("li",{children:" Reward-augmented maximum likelihood "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-15-parsing-i-context-free-grammars-and-cyk-algorithm/",target:"_blank",rel:"noreferrer",children:"Parsing I"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Parse trees "}),Object(P.jsx)("li",{children:" Context-free grammars "}),Object(P.jsx)("li",{children:" Chomsky normal form "}),Object(P.jsx)("li",{children:" CYK recognition algorithm "}),Object(P.jsx)("li",{children:" Worked example "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-18-parsing-ii-wcfgs-inside-algorithm-and-weighted-parsing/",target:"_blank",rel:"noreferrer",children:"Parsing II"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Weighted context-free grammars "}),Object(P.jsx)("li",{children:" Semirings "}),Object(P.jsx)("li",{children:" Inside algorithm "}),Object(P.jsx)("li",{children:" Inside weights "}),Object(P.jsx)("li",{children:" Weighted parsing "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-19-parsing-iii-pcfgs-and-inside-outside-algorithm/",target:"_blank",rel:"noreferrer",children:"Parsing III"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Probabilistic context-free grammars "}),Object(P.jsx)("li",{children:" Parameter estimation (supervised) "}),Object(P.jsx)("li",{children:" Parameter estimation (unsupervised) "}),Object(P.jsx)("li",{children:" Viterbi training "}),Object(P.jsx)("li",{children:" Expectation maximization "}),Object(P.jsx)("li",{children:" Outside from inside "}),Object(P.jsx)("li",{children:" Interpretation of outside weights "})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/understanding-xlnet/",target:"_blank",rel:"noreferrer",children:"XLNet"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Language modeling "}),Object(P.jsx)("li",{children:" XLNet training objective "}),Object(P.jsx)("li",{children:" Permutations "}),Object(P.jsx)("li",{children:" Attention mask "}),Object(P.jsx)("li",{children:" Two stream self-attention "})]})})]})]}),Object(P.jsx)(st,{children:"Responsible AI"}),Object(P.jsxs)(ht,{children:[Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial1-bias-and-fairness-ai/",target:"_blank",rel:"noreferrer",children:"Bias and fairness"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Sources of bias"}),Object(P.jsx)("li",{children:" Demographic Parity "}),Object(P.jsx)("li",{children:" Equality of odds"}),Object(P.jsx)("li",{children:" Equality of opportunity "}),Object(P.jsx)("li",{children:" Individual fairness"}),Object(P.jsx)("li",{children:" Bias mitigation"})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/research-blogs/explainability-i-local-post-hoc-explanations/",target:"_blank",rel:"noreferrer",children:"Explainability I"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Taxonomy of XAI approaches"}),Object(P.jsx)("li",{children:" Local post-hoc explanations "}),Object(P.jsx)("li",{children:" Individual conditional explanation"}),Object(P.jsx)("li",{children:" Counterfactual explanations"}),Object(P.jsx)("li",{children:" LIME & Anchors"}),Object(P.jsx)("li",{children:" Shapley additive explanations & SHAP"})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/research-blogs/explainability-ii-global-explanations-proxy-models-and-interpretable-models/",target:"_blank",rel:"noreferrer",children:"Explainability II"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Global feature importance"}),Object(P.jsx)("li",{children:" Partial dependence & ICE plots"}),Object(P.jsx)("li",{children:" Accumulated local effects"}),Object(P.jsx)("li",{children:" Aggregate SHAP values"}),Object(P.jsx)("li",{children:" Prototypes & criticisms"}),Object(P.jsx)("li",{children:" Surrogate / proxy models"}),Object(P.jsx)("li",{children:" Inherently interpretable models"})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-12-differential-privacy-i-introduction/",target:"_blank",rel:"noreferrer",children:"Differential privacy I"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Early approaches to privacy "}),Object(P.jsx)("li",{children:" Fundamental law of information recovery "}),Object(P.jsx)("li",{children:" Differential privacy"}),Object(P.jsx)("li",{children:" Properties of differential privacy "}),Object(P.jsx)("li",{children:" The Laplace mechanism"}),Object(P.jsx)("li",{children:" Examples"}),Object(P.jsx)("li",{children:" Other mechanisms and definitions"})]})})]}),Object(P.jsxs)("li",{children:[Object(P.jsx)("a",{href:"https://www.borealisai.com/en/blog/tutorial-13-differential-privacy-ii-machine-learning-and-data-generation/",target:"_blank",rel:"noreferrer",children:"Differential privacy II"}),Object(P.jsx)(pt,{children:Object(P.jsxs)(xt,{children:[Object(P.jsx)("li",{children:" Differential privacy and matchine learning"}),Object(P.jsx)("li",{children:" DPSGD"}),Object(P.jsx)("li",{children:" PATE "}),Object(P.jsx)("li",{children:" Differentially private data generation"}),Object(P.jsx)("li",{children:" DPGAN"}),Object(P.jsx)("li",{children:" PateGAN "})]})})]})]})]})]})]})})});var mt=()=>{const[e,i]=Object(b.useState)(!1),n=()=>{i(!e)};return Object(P.jsxs)(P.Fragment,{children:[Object(P.jsx)(A,{isOpen:e,toggle:n}),Object(P.jsx)(he,{toggle:n}),Object(P.jsx)(Xe,{}),Object(P.jsx)(gi,{}),Object(P.jsx)(Hi,{}),Object(P.jsx)(et,{}),Object(P.jsx)(gt,{}),Object(P.jsx)(kn,{})]})};var ut=function(){return Object(P.jsx)(p.a,{children:Object(P.jsx)(O.c,{children:Object(P.jsx)(O.a,{exact:!0,path:"/udlbook/",element:Object(P.jsx)(mt,{})})})})};x.a.render(Object(P.jsx)(j.a.StrictMode,{children:Object(P.jsx)(ut,{})}),document.getElementById("root"))}},[[46,1,2]]]);
|
|
//# sourceMappingURL=main.5b254a94.chunk.js.map
|