What is an empirical study? Put simply, an empirical study can be defined as a collection and analysis of primary data to answer a research question. The study is then reported in an article by the researchers who conducted the experiment. How the experiment is carried out can differ in criteria, from qualitative to quantitative. However, all empirical studies include a number of things that can help identify them. To determine whether or not a study is an empirical study, there are some questions you can ask. Is there a specific research question? Empirical studies present primary data collection with the intention of answering a previously determined research question. So keep an eye out for the question being answered in the abstract or the introduction. Can the study be replicated? When reading through the methodology section, ask yourself if the experiment or survey can be replicated. Also try to determine their methodology. Empirical studies consist of hands-on research, which can vary from surveys to social experiments. Let's take a look at an example. Reading through this article's abstract, some things pop out right away that lead me to believe the study is empirical. The first being a question that needs answering. What's the association of depression with grief-related risk factors among bereaved individuals? The second thing I notice in the method section is a clear population and primary study method. We can see that the mode of research was a primary interview among 161 individuals. The research question mixed with a hands-on study characterizes this source as being empirical. Also, a quick mention, some databases make finding empirical studies really easy, such as PsychInfo, which allows you to narrow to empirical studies using the Refine Results tab on the left side of the page. So, what isn't empirical research? Some common examples of scholarly papers that aren't empirical studies are literature reviews and papers that form theories based on the research of others. Let's take a look at some examples. This paper doesn't appear to be a literature review, as it has a clear, unexplored topic which it wishes to expand on. However, one thing mentioned in just a third sentence of the abstract that leads me to believe that the article isn't empirical is the statement. The suffered is correlated with the newest research findings in cognitive neuroscience and neurocognitive psychology of creativity. With this, it's apparent that they won't be conducting any primary research on their own, but will instead draw from other relevant research that has already been conducted. There's further evidence from the fact that, scrolling through their paper, there's no methodology section. This paper seems more interested in developing a theory to explain previous research rather than conducting new research to answer a question, making it a non-empirical study. Overall, the main giveaways to a study being empirical are a clear research question and primary, repeatable data collection, which can range from surveys to social experiments. If you need more help with empirical studies, feel free to ask a librarian.


So 76 miles all together for 150 for the pull-up and get a grip G, let's go. And just like that, we are here at the pickup.  Mesh, I'm outta to run it up. We trying to run this joint up, baby. I might have a load to go to Provisor and Moquina. And just like that, we gone. It's time for the pull-up, so we can get in our zone, let's go. How you doing, man? I'm doing great, I can't complain. I woke up this morning, a little job to you guys from Zion, from Dynacoil. Yeah, it's like, if you want to, we can lift it up. Yeah, I know you don't wanna get the four truck and all that, too much. Thank you very much, you have a good one, boss.


I'm Rick! And you can follow me on Twitter and on Twitter and all! It's juicy gum. It's so juicy. I think we're so, so good. Patreon and follow us on Twitter account. Do you know my... Tootie! Do you know my dad? Hmm. He gets really like infuriated when he can't hear you say about the Twitter account and Patreon. You don't already follow me, Mr. Siegel? He hates when you do that. I'm telling you, don't tell me that. Don't tell me that. I'll keep doing this. Exactly. But this is a... Sweaty belly! Read this. I don't know. Hindi language party song. More? Yeah. Sajanaji Vadi Vadi. Note. Dance as free and wild as K.K. Menyam. Who played Khurramir in Header? Oh. This song is a pure unadulterated party song. Okay. 90s party song? No, it came out in 2007. 2007. Okay, so it doesn't count. Good. Well, come on. Because when you say party song, I'm thinking of things like Tanuk Tanuk and Tata Tata and any other song that starts with a T. Gandhi Baat? It's not a T. No, I just wanted to say Gandhi Baat because I don't mean dirty talk. Here we go! I mean... It went loose. People don't know how to dance. Exactly. It's a song. Absolutely. You know the wedding reception? You just started playing? You wouldn't get up? You know those names? I didn't. Looking at it, but... Which guy was the guy from Header? Your guess is as good as mine. I was trying to figure it out. I had completely... What's the song started? I had forgotten that someone in this was in the movie Header. For me, I was watching. It was almost like someone had a camera at a wedding reception on a boat and they just played the song and everybody just started dancing. Yeah, that's what it looked like. Yeah, it was great. It wasn't like a big bollywood number. Everybody now knows the exact name of the dance. They know the choreography and they're blowing us away with the choreography. This was literally just... You could have just had a good time. Maybe that's what they did. They just turned on it. They were like, I had already danced to the song. Nothing. That's what it looked like. Yeah. It's like get everybody on the dance floor. Grandma, all the kids, just everybody got on the floor and jump up and down and get sweaty. It's from a movie called Honeymoon Travels. Fun. So I guess that's... Very catchy. Hold on. Now I need to know where this guy who... From Header? I know they said the name in Header but I don't know those names. Is he one of the Rosencrantz and Guildenstern guys? Cause I know everybody else that were the main parts in that. That was a really catchy song though. We've been invited to many Indian weddings now. So thank you so much for that. We really have. Obviously we're on the other side of the world. If you have a wedding while we're there, we will. We would absolutely love to come and attend a wedding before that. That would be amazing. That would be so fun. It really would. I've been to one but it was an Indian American marrying a white guy. And so they kind of get a match. Kind of blended it. Yeah. And this was before the channel. So it was funny. Cause we had dinner with them not too long ago. And I was telling her all about the channel. And she was like, you know all the songs that you've been reacting to. You dance to them. You dance to them at the wedding. At the wedding. I was like, I don't remember that at all. I remember dancing but I didn't know what was going on. I've mentioned this before and man what I love to get like a rewind reel and just look at my life and see how many times something from India has been in my life that I didn't even realize it at the time. I've pointed that out about how many times things have touched me and have been a part of my world that I've realized. Wow, that was, wow, that was like so. Apparently there was a tonic tonic that was there. No. Yeah. And Chaya Chaya, she said, we're both playing. Wow. It was like, I don't remember that at all. Yeah. Wow. Yeah. Cause obviously I'm just dancing and there's some. Yeah. Some music. It sounds fun. Yeah. I have no idea what I'm dancing to. Yeah. Like here at a wedding that you're attending the reception to here in Los Angeles, the DJs are almost always going to incorporate something that's Latin, something from Mexico, something from South America, and everybody in the place that is of Latin American descent, they're going to flip out and they're going to start jumping a bit down and dancing. And you'll dance with it and probably never even heard the song before. Yeah. So yeah, that experience happens a lot. Yeah. It sounds funny. It was quite funny. I'm searching my computer's going really slow right now. Oh, wait. Where was he? Was he with the... No, that's the guy... The main politician guy. The dad. Yeah, the uncle. Yeah, the uncle. That's the uncle. Where was he? Shave shifter. What is this called? Was he the guy with the long hair? He was either the guy with the long hair or the main dancing guy with his shirt off at the beginning who's on the floor. Oh, he's the main guy. That's him with the shirt off? No. That looks nothing like... That's not him. I'll put it on the screen, but I don't believe you. Lies and propaganda. That does not look like the guy from Hedder. If it is, I want to see more of his work because he can completely change his facial structure. That's weird, man. And what is this from? Honeymoon Travels? Honeymoon Travels. Who's film? Uh... I don't know how to pronounce that name. Rima. Kirk. Copti? Copti. Huh. Well, there you go. Thanks, IMDb. Content not available. Yeah, just like Corbin's mom. Sorry, Corbin's mom.


With the release of Super Mario 3D All-Stars, many gamers are discovering, or rediscovering, the joy of Super Mario 64. This game set the standard for controlling characters in a 3D space, and most games released today owe a lot to the lessons learned from this N64 launch title. This is all thanks to Sega, oddly enough. Originally, Super Mario 64 was designed to run not on a Nintendo 64 controller, but on a Sega gamepad. According to coder Giles Goddard, who worked on the game, development on Super Mario 64 began long before the Nintendo 64 was fully designed. Rather than have a traditional development kit, the team had an emulator running on a very large and very expensive computer called an SGI Onyx. Goddard said, it started way before there was any hardware. It started on these Onyx emulators, the old SGI Onyx. They had an N64 emulator, the first thing we got from SGI. It was an emulation of the API, not the hardware. Work on the game wasn't like most titles. First and foremost, Overseer Shigeru Miyamoto wanted to make sure that Mario looked like Mario, that his animation looked good and felt like an extension of the series' previous 2D games. Goddard said, the animation was quite central to what he was doing. A lot of the animation was actually in there before any of the game. The Mario that Miyamoto had running around basically looked as he did in the final version. As this was one of the first major projects that the team had worked on in a 3D space, they focused heavily on getting character movement and camera control just right. This was made more difficult because, at the time, there wasn't a finished N64 controller to use to test the game. While work initially started with a keyboard and mouse, the developers quickly moved on to testing the game using a controller, but not a Nintendo controller. Said Goddard, we had no controllers for six months. We had a simple serial port on the back of the emulator boards. The entire game was done with these indie emulator boards, hardware boards basically emulating the N64. These serial ports, we plugged modified Sega controllers in. Most of us were using these modified Sega joy pads. Goddard doesn't give a reason for using Sega controllers instead of Nintendo ones, but this could well be because of the differences between how the two companies had approached directional movement up to this point. Nintendo had initially popularized a cross-shaped D-pad on their controllers years ago as a compact answer to arcade-style joysticks. Because Nintendo held a patent on these, other companies had to get inventive when using a similar control system. Sega's answer is sometimes known as the D-button. It's a single, flat pad which allows for eight directions of input, rather than just the four offered by Nintendo controllers. The player can easily roll their thumb from one direction of movement to another. This slight difference became increasingly useful as games became more complex. For example, it's perfect for rolling Sonic the Hedgehog down slopes. It was also a far better fit for testing a 3D game like Mario 64 than a Super Nintendo controller. As time went on, Goddard says, his team were provided with a steady stream of N64 controllers to test out on Super Mario 64. He said, We had various prototypes. There were lots of them, probably at least 100 prototypes, mostly based around the central stick, how that moved, how well it moved, what shape the thing around it should be. Mario 64 was the perfect game to test out these prototypes. The existing work that had been done testing the game on Sega gamepads then informed the feel of the final N64 controller. Said Goddard, it wasn't so much that the controller dictated Mario 64, probably more the other way around. So if you enjoy the way Super Mario 64 controls, and by extension you enjoy playing on pretty much any modern games controller, by all means thank Nintendo for their innovation. But also, thanks Sega, without whom this experimentation wouldn't have been possible. The moral of the story is that, as fun as friendly rivalries might be, when we all work together, sharing our talents and insights, we can make things better for everyone.


Felly, wrth gwrs, rydw i'r cymdeithasol y 17 ymwneud o'r 21 14 ymdeithasol ymddangos y Llywodraeth i, mae'r bwrdd nesaf yn mewn bwrdd yn ynnwys gwaith yn hyffordd. Felly, mae'r prifnwys ymddydd yn ei ffwrdd. Rydw i'r prifnwys ymddydd fel y cymdeithasol ymddydd yn gwneud gan gymhag ffordd. Rydw i'n ffwrdd â'r pethau cyfrifoedd yma, Clare Adamson. Agenda item 1 is a decision on taking agenda item 2 in private. As we always do with work programme, we take the discussions in private. Our committee is content to take. Agree. Agree. Agenda. Is there any particular reason to take this in private? Is this that we always do any work programme deliberations in private, because it allows us then to look at all of the options and have a more frank exchange about the options that are into it? Well, if the members of the committee is free, can I? Yeah, yeah, it's just one more procedure, yeah. I'll go along then. Nothing different, nothing different. So agenda item 2 is the work programme, which we will now take in private, so thank you very much for coming along.


Yeah, honestly, what's going on everyone Sam here with late in sports cards doing a 10 box mixer for Tom see we've got To 23 tops for steen baseballs to 22 at 23 crown Royale basketball hobby to 22 23 or no Just 23. So maybe select draft picks football to 23 luminance and to 22 cosmic chrome baseball. So good luck here, buddy Let's do it. Uh, doing personals on channel 2. Uh, no, he's doing personals on channel 2 Yeah, I'll be doing personals over on channel 2 tomorrow tomorrow night So I'm assuming most of the release day stuff will be available probably not in case that be manly guests would not be available But everything else most likely will be Silver Derek Henry red Donovan McNabb to 149 Austin Eckler to 199 got BJ. Oh, Jollari Refractor rookie auto nice one there Okay, Jettus Jordan Addison rookie and Brian Dawkins silver Bryce young rookie Brace our Sam Bradford hyper will levis purple to 75 Nice one here is a Jack Campbell rookie auto silver rookie auto Will Anderson phenomenon silver Jordan Addison and Justin Fields Silver, you know, red Brian Ehrlacher to 149 Tyree Wilson To 199 nice one here for Alabama Henry Toe Toe silver rookie auto or Toe Oh, Toe Oh, I think it's Toe Oh, Toe Oh Hennan Hooker Trevor Lawrence Sparks and Joe Montana All right box number two of select draft picks Sick of boom come out of crown. That'd be awesome, dude Silver ETN will Anderson try color rookie to 199 It's a hyper of Hennan Hooker Trenton Simpson for the Ravens nice one there rookie auto Will levis rookie silver Jordan Addison and Dalton Schultz Silver Stroud orange Justin Fields to 49 Red AJ Brown to 149 nice one here. This guy is a cowboy Luke Shoenmaker Silver rookie auto Joey Porter, Jr. Aaron Donald and Jaylin Hertz Silver CD Jaylin Hyatt try color to 199 there. Canary hyper Rakeem Jarrett nice one there for the Buccaneers rookie auto Rakeem Jarrett to attack by low nice Brian breeze tie-dye 14 of 25 Turbo charged and drew breeze All right, that'll do it for select draft picks going to luminance football next Luminance football Dak Prescott on the Beacon Jersey card to 50 Jaylin Carter to 150 a Michael Meyer to 175 and a savage of Mike Evans to 50 Josh Allen to 150 said Michael Wilson year one nice one there red ink for the Cardinals on card Unforgettable of Van Jefferson Brock Purdy to 50 That is a Josh Wiley Uh variation no not variation that is um for the Titans year one rookie auto and a Brock Purdy busted Mere Gibbs to a hundred a Mere Gibbs year one nice three year ones in one box. There you go, Tom. Grats, buddy Jamir Gibbs on the year Uno and Justin Fields Let's pump and what Donnie got out of his box and immense You got a one-on-one Aaron Rodgers Yeah, luminosity my homes, which is like the super short print and a year one of Jordan that are Johnson, I think the Chargers first round receiver Yeah solid Garrett Wilson Jumbo Jersey for the Jets Mike Parsons to 150 Jordan Addison to 50 and Unforgettable Justin Fields such a cool card. I love that fields card in the water Rain game Will Levitt's rookie Desmond Ritter to 250 that is a Miles Murphy rookie order to 100 bangles and engaged in Hutchinson in Nocano to 150 Stetson Bennett year one. Nice. There you go for the Rams, Georgia legend 2045 year-old Stetson Bennett feels like nice one there and Savage of Josh Allen It's a tee Perry for the Saints to 35. I've got a Javier Gibbs rookie auto to 100 Jamir Gibbs and Vestige of Nick Boso. All right Let's go on to pristine next Tom two boxes of pristine Jordan Groeschans rookie Cori Lee rookie refractors as well Josh young fresh faces Corbin Carolyn case to rookie nice one there on the pulsar base Shohei and a blue Jordan Groeschans to 75 for the Marlins Nolan Gorman fresh faces and In case thought of drawing Carnaceo for the Marlins Cody Clemens refractor von Grissom refractor rookies and Francisco Alvarez going going gone gold Cody Bellinger 19 of 50 for the Cubs Alec Burleson and a goal Dylan Cease around the Diamond Jersey out of 50 white socks doing Gunnar Henderson orange is a Adrian Beltra to 25 going going gone and Ken Griffey, Jr. And John Carlos Stanton of Lattie Guerrero, Jr. Orange Willie McCovey nice color match to 25 for the Giants That's Bobby Whit jr. A Kyle Stowers blue auto. That's a rookie auto for the Orioles do 75 said Williams purple Clayton Pershaw to 99 Christopher Morale rookie and Triple Jones going going gone. That's a Jacob to Grom to 75 for the Rangers That's Jordan and David Ortiz Francisco Alvarez rookie Going going on the big hurt Oswald Parazza encased rookie base for the Yankees Conor Joe and a purple Brady singer to 99 That is a royal Pasquantino Going going on Mike trout and Marco Pell refractor rookie auto for the Phillies Crazy story from that 100 Brown rookie refractor Reese Hoskins baby rookie Michael Harris fresh faces rookie as well And a red George Springer one of five. There you go Tom. Nice one there, buddy Joe Musgrove purple William Contreras the brew crew to Oh snap Adley Ruchman rookie Jonah Bride rookie in case Pulsar that is a Lars new bar and Matt Chapman around the diamond Jersey auto for the Blue Jays game you Masataka Yoshida fresh faces rookie in case the auto for the diamond that's buddy Kennedy to 75 35 of 75 on the blue Last pack of the pristine boxes now So Raleigh Fingers and William Contreras blue to 75 100 Brown Sammy Sosa going going going and a pink leave-on Soto 7 of 15 for the angels Going to crown Royale now crown Royale hobby. I'm going to double check make sure that's crown hobby. Yes, it is 22 23 crown hobby See something big man See something big see a kaboom gold kaboom Palo Imagine Sean The absolutely insane All right KP Hardin the Rosen and Evan Mobley Say Yannis pillars of the game to 99 pink crystals and pretty simons to 75 and Auto Josh Giddy to 99 second-year auto for the Thunder Also have air stood thrown Nicola Jovic rookie at Jersey rookie at Jersey crown again BAM KP Hardin and tomorrow Yannis snow globes to 49 Pink crystals Benedict Mather into 75 and Auto Oshai Baji to 99 nice one there for the jazz rookie autograph and Anfrony at Simons coat of arms for the Trailblazers We're gonna finish off with two boxes of 22 Cosmic Chrome now a little segue into tomorrow Which will be nice obviously cosmic comes out to motto Verlander rocket arms. I think it's a bit of an upgrade from last year as well Necasiano's nucleus JP Crawford Not necessarily saying that the Cosmic was bad last year was awesome last year, but I think they added new parallels and such as well New inserts all kinds of stuff. They really they built the product a little bit more Salvy Perez launching orbit die-cut. It might be your connection to be honest Izzy Randy Arosa Raina to 99 you pull bar stream real quickly Tim Anderson O'Neill cruise rookie. Yeah, it's good on our end. Try refreshing it There are autos 12 bucks case usually like four autos a case or so jobs Miguel Cabrera fracter does it. Yeah. Oh, yeah got an orange It's one soda orange ray wave one Soto 12 of 25 nice one there. That's Tom Tyler McGill and Vaughan Elliott Ramos 10 launching it orbit Julio Rodriguez rookie Massive hit. Let's go Tom Congrats man. That is huge This is why Cosmic is so sick, dude That's pretty massive right there Jay rod rookie to ten. We'll get that into a mag Tom. Congrats, buddy. Oh, man Oh, man, a Kyle Tucker auto now as well. So we had a number to ten. We had an orange We had an auto nice one there congrats on that Tom.  Oh, yeah. Oh god. I'll come up with something for tomorrow Please do Casey Pfizer Fractur and Kyle Tucker Suzuki Whitmerfield Bobby Whit jr. Gonna not be able to go to sleep tonight Just stare at the ceiling be like, please no stop Feeling like the day before the first day in base, all right be hard to beat that one Let's see we got in box number two Tom. Good luck, buddy Think of General note yet. They'd sale JD Martinez Patrick Corbin Man, dude, we already had a huge laugh about that in our breaker group chat Unreal unreal Watch the orbit there and judge. Oh Nucleus Josiah Gray rookie Reed Dettmers They had to have known what they were doing too Had to have known they were doing there's Andrew Benintendi blue pulsar to 99 That was kichal Strasburg Scherzer Walker Bueller base This guy Chris Bryant. I get him out J. Rod rookie I'll let you Hunter Green there's Byron Bucks in launch in orbit Jeremy Pena rookie. Oh, yeah There's Willis Contreras and base The movies Cal Raleigh refractor Hope has Johnny Hernandez Not really now seem like like blips and stuff. Yeah Gold you're on Alvarez 25 of 50. I just went there Tom Nice and stop. They are that'll do it for your break there Tom. Congrats on all the hits buddy We'll get them right out to you my friend


Live from Las Vegas, it's theCUBE! Covering AWS re-invent 2019. Brought to you by Amazon Web Services and Intel, along with its ecosystem partners. So good to have you with us here on theCUBE to continue our coverage here. We're live at AWS re-invent 2019. We've been here since Tuesday, wrapping up a little bit later on this afternoon. It's a pleasure to welcome Jeff Frick in for the first time. Why haven't seen you in a while? Thanks for coming out. John Wall's here and with Neha Rukta, who is the principal applied scientist for the Automated Reasoning Group at AWS. Neha, good to see you as well. Thanks for joining us here. Thank you for having me. All right, so let's kind of put this in perspective for people at home. You got the AI world and the ML world all happening and automated reasoning applying in all those contexts. So kind of give us an idea about what that mesh looks like. What is it all about? Then we'll jump into what you're up to at AWS. Right. Automated reasoning is a subfield of AI. So the way you can think about is AI is a discipline of computer science that allows you to have rules to teach a computer system or an algorithm rules about how to think intelligently. So a lot of the tasks that traditionally humans did, we transferred to a computer doing it. And ML and automated reasonings are subfields of AI. I would call them sister fields, but on the opposite ends of the spectrum. So in machine learning, you would have the computer system learn the rules by observing data, lots of data. And it's very good for certain things like voice recognition. There is no definitive set of rules that says how can I recognize a voice? While automated reasoning on the other hand doesn't look at data, but for the things that we know that exist, there exists a definitive set of rules, we encode them. And the system and the algorithms can reason about it. And access control is a great example of that. There is no unknowns. We know what the shape of access control looks like, what its definitions are. And we encode those rules in a computer system and algorithm. That allows us to ask many questions and be able to have different applications and security, compliance, availability. Sorry, we're talking about asking questions in the context of security and access. Who's asking who, what questions? Is it the system asking the person trying to get in? Is it the person trying to get in making sure they're getting into the right system? Who's actually asking those types of questions or what are those questions? So some questions are very general. For example, in most cases you do not want, you want to make sure that your S3 bucket is not public. Only if you're hosting web assets or web pages are potentially the only cases where you would want a bucket with wall read access. So this is a question that's a global security best practice. So we would say we would ask the question in AWS. Is this the case that the bucket is public? But as an organization, you may have specific questions about who in my organization can access something. And that can vary based on organization, based on the security best practices that you have, based on the governance rules. So some questions I would say are best practices while others can be specific to organizations and enterprises and companies. But that's really important because when we do hear about breaches and we hear about breaches all the time, it seems like usually if Amazon is involved, it was some misconfiguration, some switch got left in the wrong position. So this is the type of application that you guys can now search for in advance to make sure that whether it's industry best practices or are you sure you want to leave this knob open, you guys can get ahead of the curve on that. Absolutely. And at AWS we want the customers to have options and have flexibility to do those things. But at the same time, we want to provide them different means where they can check, double check, triple check, that their configurations are as they intended. And we've partnered with S3, so you see the public not public badge in the S3 console. Last year we also partnered with them on the block public access where it allows account administrators to turn on that nobody can ever access their bucket. And so we've been providing a lot of features to our customers to allow for them to detect and prevent misconfiguration of their resources. Yeah, how much more complicated is it now or complex because you have so much more resource. You've got a lot of data. Companies want it to be accessible to a lot of different people or people within the company want access to it. But just in terms of fundamentals, what does that do to your game? I mean, in terms of what you're trying to provide, the controls you're trying to provide when there's a lot more of it and a lot more people want to get at it basically. And this is where I, is one of the powerful things of automated reasoning where, as I said, it's a sister field, but in a way the opposite end of machine learning, it doesn't need data or logs or who has accessed things in the past. But it just looks at your configurations, your policies, and because of the rules we've encoded, it can very quickly tell you who outside your account has access. And we launched a feature this Monday called I am access analyzer that with one click you can enable it in your account. It will scan all the resource policies in your account and tell you, hey, Bob here from marketing can read this bucket. Is that intentional? And that's not something we can say because that's a business use case. They put that on the customer, right? They'll let them make that determination for themselves. They provide that visibility. And the goal is for the customer to say, yeah, that's intended, he needs access. So I'm going to archive this. I'm going to say this is intended. While if it's not, they can go to the respective service console and fix the access. And essentially it empowers the customers to make decisions about what access is intentional versus not. And does it just like fire off notifications if there's something that seems kind of out of band within your system that says this doesn't seem right or how's that actually executed? Because I don't think most people understand how complex access control can be between different roles, different projects, different resources. It gets to be a pretty nasty hairy mess. So I mean we have many ways that customers can get notified. We've provided integrations in the S3 console. They don't need to go somewhere else. If people are in the S3 console, they can have this information right there. There's a little tab in the S3 console that says access analyzer for S3. Security Hub is where a lot of the security compliance people look for a holistic view of their security and compliance posture. Look at findings from other security services as well as partner solutions. And we also provide integrations with cloud watch events so people can just subscribe. Hey, this bucket suddenly allowed John access. I don't know, John. Careful of that, yeah. So, shut that thing down. But what about just in terms of ease of use? I mean that's always, I think it's, as more capabilities come to the market and you give me more choice as a customer, sometimes I'm going to say, oh, you know, wait a minute. This seems like it's going to be over my head or a lot more complex or a lot more intricate than I thought. Can you keep it simple? I mean I don't mean access for dummies, but can you keep it relatively, that ease of use in a pretty comfortable level for me? Absolutely, and that's our goal. So, traditionally, when you talk about automated reasoning, there's been this, oh, it's high touch or you need to be an expert user to do it. And what's with this offering here, all that, like it's all one click and you don't have to be a security expert or even know how access control works or be like a mathematician or a logician, it's just simple declarative statements. It'll say John, from account one to three, can read your resource. And that's it, it's that simple. So, it's essentially for customers of all verticals. You don't need to be a large customer with a huge team to be able to use it. Anybody, anybody can just turn it on and use it. And that's been one of the things that we've pushed really hard on is to have that ease of use. So, I'm curious philosophically, is this a different type of AI that can be applied when you have use cases that just don't have the big data set? Because that's what we hear all the time about traditional AI, is to identify the Chihuahua dog from the blueberry muffin, you need a lot of pictures. But this is something where you don't need a lot of data, so you see lots of different applications beyond this initial launch to apply this type of reasoning. Absolutely, so, and there's a lot of systems, a lot of configurations, a lot of even code, architectures. There's many, many systems that, where we can apply these technologies for us to have. And that, I think you hit a very key point. We don't need the data. We are in a way data agnostics because the rules that we derive are the rules that we've made up. I mean, we know the rules because that's how AWS is constructed. So we leverage that to create these automated reasoning technologies. And we're starting with access control, but there's a lot of other places that we want to start using this and applying it. So how is this making our operations more secure then? I mean, ultimately, because if you're giving me a chance to better identify who's coming in, who's coming out, obviously there's some protection there. But, I mean, look at that for us, or at least try to paint that picture for us a little bit. And why does this give us better protections, better securities in terms of protecting from invasion? So in the cloud, like security is our number one priority, is we call it job zero at AWS. And as you talked about, where it's flexible, it's growing, your business is growing, you want to know what's happening. And you want to be empowered to make the right choices and right decisions. And this provides you that visibility. You don't have to dig through the different configurations to see what's happening. Like for your compliance auditor comes on board saying, are you sure that this meets these privileged practices? And now you don't have to go digging, you can just say, oh, here's a report generated from this tool that has analyzed all the possible accesses. So it allows you to scale better. As a business, you can focus more on your business value core propositions rather than having to say, oh, how do I check the different configurations to meet my security requirements? And it's not passing judgment. It's not saying this is good or bad because what may be good or bad for a business can be different. Just depends on their perspective. Exactly, and so I think that's the key part here. There, I mean, there are some cases which we would call security best practices, but there's a whole tail of use cases that are very, very specific to your business. And I think by empowering you to make that choice and decision of what is intentional, what is not, and do it in a way that's easy one click, you don't have to think hard about it. I think changes the game for security. Well, I would say my only piece of advice is don't give John access to anything. And with that, with access analyzer, you can check that John runs. Jeff, you now have control.  Thanks for joining us, we appreciate the time and walking us through. Good luck with the product launch too. Sure, things are rolling well for you. Neha, thanks for being with us. Yeah, thank you. Back with more, we continue our coverage here. We are live in Las Vegas at AWS re-invent 2019.


It is also a fact that governments and public institutions are among the largest buyers of IT goods and services and that is the reason why the debate around the kind of software that is being used by public administrations is so important and so essential.


All right, so foundation of deep learning me again All right. Yeah, so again do interrupt me. It's gonna be the last class. We have in person We have a very bad situation, especially in Italy people are dying. We don't have any more beds in the hospitals We don't have doctors doctor doctors are working like 24-7 and they are going home and they are affecting their own families so it's like a really bad situation right now back home and Looks like we are two weeks away from that situation over here So just wash your hands Try not to go in very crowded places Stay healthy. Okay, please.  It's Real Okay, now hands up who thinks that the picture on the right is real Okay, who thinks that both of them are real who thinks that This one is fake Who thinks that this one is fake who thinks that both are fake? Okay, you are right So these two images have been generated by Modern that we train actually This guy Kara's train. So if you go on the website this Person does not exist. You can find several examples of very good-looking Non-existent people if you keep clicking sometimes you're gonna find some person with a hole in their faces That's kind of very easy to recognize that is not quite Likely a real person, but otherwise all of them look pretty legit You can notice that they have very nice teeth very nice, you know cheek chicken feet Like things what you call them You can clearly tell here though that if you check on the background behind The network is not producing a very accurate background although the faces looks very good Why is that? because the network has been provided many samples and those samples are Refiguring faces The thing that is not constant is the background, right?  Huh, you know this answer, right? We already covered this in class Eight he said eight How much 1050 50 yeah, that's 50 correct. So you have roughly 50 Muscles something less plus, you know rotation tilting and what so not what not so you know all possible It's just a manifold in 50 dimensions. So everything else doesn't quite is outside at manifold Although this picture, you know are several megapixel pictures. So each point here is living in this huge dimensional space Although all the possible variations are restrained to a subspace. Okay, so that's the training manifold the data manifold Okay, check out their website Okay, so we have here a very cute doggo and on the other side a less cute bird Sorry, I yeah If you do a linear interpolation between the doggo and the bird what are you expecting to see in the middle? And for this one, I'm gonna be actually turning off the light that turning back on the next soon after Again So a blurry image what do you mean? So what do you expect to get over here? Roughly, yeah, you can talk back So I'm gonna I'm gonna be doing 100% these one plus zero 90% these on plus 10% 80% These on plus 20% these one.  So you actually had to talk back more than usual Flying squirrel.  Second sorry Yeah, super in superposition right so you're gonna get something that looks like this You got get basically overlay of the first image with a second image. All right So let's get back here and instead let's do a interpolation in the latent space of the network So I input both those two guys I get the two and representation those hidden layers Then I do a linear interpolation between the hidden layers and then I do the decoding part What do you expect to see here and you still have to talk back to me?  Right, right.   All right This is a network that did this Atrocious right is blasphemy. You should watch full make a full metal I chemist episode where the father takes The daughter and the dog and make something similar. It was so interesting. Okay, if you watch cartoons Brotherhood right the second second season, okay I Don't know because it's a lot of green. So I guess it got rid of it. I don't know I guess it. Yeah, I don't know Good question though Good eye. So let me show you a few more. So this stuff comes from Brocks article and that okay, you have a smaller like So the first one you have a small version of those images.  You go from these Puppy here to a bird. So again, you have a birdie a squirrel Whatever and then you have a bird and then the other side you have a doggy Or this one you have like the smelly guy. What's called? Shunk Skunk, thank you. Oh, that's why you smell like a skunk is the same, right? Okay, I see so that's you have a skunk here and then you get to a dog Right, but it actually looks a lot of a dog after this thing here and finally you get bird turn into a fly I think these are pretty awesome Examples, so this should make you hungry such that I can feed you with the second part of the class Right, so you have these images one side You have these images on the other side You get the embeddings and they do some basically Interpolation of the embedding you can check out the paper for more details The point here is just to show you that the difference between interpolation in in pixel space Yeah, what is the difference between interpolation in pixel space in the latent space? So the latent space capture what is the basic semantic of an image and therefore you go from the pixel space Which kind of doesn't really? Play well with our tools to kind of more Well-behaved space which is our internal hidden representation of the date of the of the network again This is just to give you some appetite right not I'm not gonna be I'm not formal at all What next okay, you can zoom on dogs you can shift you can shift on the X on the Y You can do change the brightness the interesting part here is that when you change the brightness actually you change day to Day to night or night today because that's what the most normal brightness change in pictures looks like okay So whenever you change brightness you actually change the time of the day or you have a 2d rotation or even a 3d rotation It's so interesting means that a network can somehow have a Internal representation of the 3d world that's Something Jan was mentioning yesterday if you shift, you know a little bit and you see this kind of parallax Then the easiest way to express To basically address these you know phenomenon is actually to imply that there is a 3d world, okay? So in this case they train the network in order to actually be able to you know handle specific transformation Actually, I have to put the reference on this paper again. I'm just giving you some How to say I came this okay, I'm not giving you any any formal thing right now In this case actually I like this on so much and you can get the anime version of your Picture right so you could try this up. I don't try with hentai right? We don't want to do those things Okay. All right So some of you actually know this stuff interesting Right the one that don't it's okay. Just forget. All right Okay, this is other stuff which is pretty cool like you can go from lower resolution to higher resolution From the left hand side to hide right hand side and here you have a few examples But this is of course is black on white It's much easier to do this stuff and the same for the zebra and this is a pre deep learning technique So they were just using some hierarchical model nevertheless. It works pretty well And then a few years later you actually get Garcia Getting you you know really Hi, this is like the Upsampling by doing like linear interpolate. Sorry by linear interpolation and instead this one is gonna be the Upsampling down with the neural net and the final one is actually the real image You can see clearly on the third row how these Asian dude became European Why is that By us right correct So the network has seen a lot of white dudes and therefore the most the easiest way to reconstruct a kind of unknown Face features it can be to plug there. I have a white dude face or this lady looks like she has in she's having a stroke Because she we don't have many side views of these images, right? This this lady became a change sex On the bottom side and then all this guy looks like he had an accident Because again, we didn't have many glasses on the data set Therefore the network, you know saw some very dark thing and then you know implied someone just punched him very hardly Okay, but again, this is very old stuff. I mean we are four years in the future now Again, these are the first results and this allows you to Leverage, you know actual data in order to fill in the gaps and the gaps are what are the actually actual detail We have very very many new Results recently, but these are again are the kind of pioneering result in pioneering examples One more here you basically block the face with a gray square and then you ask the network to reconstruct The face such that it gives you The best-looking Closing point right so you take an image which is staying on the training manifold You put a patch on the face This patch will make the image go away from the training manifold and then you can do for example gradient descent in this Energy space such that you can find what is the closest point like the point with the lowest energy That is associated to that specific initial image Okay, so you get an image you perturb the image that makes it go away from the training manifold And then you can do gradient descent in the energy landscape such that you can pick the whatever sample looks like the most You know it's on the closest sample on the training manifold and this is some stuff Yeah, and was covering yesterday about energy base model whenever you learn an energy Then you can actually use the energy to do inference to do inference you actually had to minimize The energy right so energy minimization means inference not training training is something else Again, we are going to be covering a more detailed energy base models in the following classes Here you have another few examples one using a variation of encoder and another using generative adversarial net This is also another example from read This is crazy. You can go from English description to actual drawing of What the English description mean right so you go from a sequence I guess to a vector Which is like the concept and then from the concept you use a decoder So it's a generative net which is going to be decoding your specific output and That was pretty much it for the eye candy. So This should make you very hungry for the second part of the class are you hungry? Yeah, I didn't have dinner in there either, but okay. All right, so Out encoders. What are the stuff unsupervised learning? So this is our first model. We're gonna be Diving into in order to see how we can train a network without targets or labels. What are targets? What what was the difference between target and label? You already know everything someone else Prediction means both of them are actually given both of them are annotations Thank you. So labels are gonna be categorical. You can label things. This is a chair. That's a table. That's a door Targets are gonna be, you know Target, right? Okay. All right. So we're gonna be observing how we can train this model without actually having targets or labels So this is a first network, which is the architecture. We are gonna be playing with It's very similar to what we observe so far But the big difference is that we start from the bottom. We know already why it's pink You got to a intermediate hidden layer in green and then you get top to the Input So the output of the network is gonna be the prediction of the input, okay? So you will have also a different kind of representation you may have So that's those are the equations the hidden layer is gonna be the rotation Squash rotation on my input and then the final output is gonna be the I guess squash version of the Rotation of the hidden okay, where rotation means a fine transformation We have some dimensionality so we shoot towards D But then both X and X hot leave in the RN Therefore the second part is gonna be our generative network This one that goes from H to X hot is gonna be my generative net and here you have a different diagram Which is basically doing the same thing But this one is you know some people prefer these diagrams where the actual transformations are made in boxes Okay, so you have people saying this is a two-layer neural net although we know that is a How many layer neural net?  That's our my convention, okay? If we use Jan's notation, then we also have Okay, hold on so you actually can have some tights weights in order to be trying to reproduce somehow PCA, although You don't have guarantees over the order of the different weights of the different Basis, but if we use young you take notation, we are gonna be also adding those kind of little Projectiles there which are representing the transformations, okay? So why are we using out encoders? What's the point of? predicting my input Let's say I use a identity matrix Okay, I provide input which is a vector. I multiply this vector I do a identity matrix times my vector. I get the same vector There's an out encoder, so you get the same thing as you put it in Why the hell are we doing this? So you don't have the input when you predict but then I can just learn the identity matrix, right? I have identity matrix. I put something in I get something out. I put something in I put something out I Get put same thing in I get the same thing out So the most thing the most trivial thing to learn for a network would be the identity matrix, right? I the thing I put inside comes out and that's how we train this stuff second sorry If D is less right, okay, there is a first point. So if we have a Fepin if we have an intermediate dimensionality D lower than n Therefore we can start seeing what this can be used for for example could be used for compression So if I have an intermediate representation, which takes less space than my input representation I can use this encoder as a compressor Then I have my hidden representation my code which is you know addressing what specific input is and it takes less space So I can use a you know image Compressor for example here. So that was my initial idea for out encoders But that's just one type of application and it's kind of you know not the proper way of thinking about these guys So an out encoder task is to be able to reconstruct Data that leaves on the manifold, okay So we have a data manifold. We get some points. We have data points I use these points for training my system and I'd like my out encoder to be able to reconstruct only Things that live on the training manifold on the data manifold. Okay, so that's our that's actually what the task What is the task of these out encoders only to reconstruct a small subset and I get in tripped off by my microphone one sec I Only we should be able to okay. This is too short. Okay, we should be only able to reconstruct We had to enforce only to be able to reconstruct a small set of possible input Okay, now it becomes interesting because if you can only reconstruct a small set of inputs Then you cannot reconstruct things that are away, right? And so for example like before I show you I Have put I put a picture.  So if you're only constrained to reconstruct things that have been observed during training any variation that you Apply to the you know new inputs later on during when you're going to be using this network It's gonna be removed because the network will be Insensitive to that kind of perturbations. So let's see a bit of more details about this stuff. Is it clear so far? Yes, no Okay All right, so let's figure out what are the reconstruction losses we have we can use so the first one We have the classical, you know loss for the overall dataset is going to be the average between my first sample losses Okay, and so there are two percent losses the first percent loss is going to be The binary binary cross entropy Which is going to be penalizing a lot if you make a mistake So the output the the targets are going to be zero or one So you have a categorical distribution and then your input is going to be Sorry your output is going to be something that also Leads between zero and one so you have a sigmoid network a sigmoid a nonlinear function at the end And then you get you try to minimize this guy here Otherwise if you have real value inputs and outputs which are for example images color images You may want to use the MSc. Okay. All right, so As someone yes, the your friend there mentioned before we have you know pretty It's pretty obvious obvious to think about like a under complete hidden layer a hundred complete hidden layer Has a dimensionality which is smaller than the size of the input So in this case The network cannot perhaps copy or use the identity metrics because you have an intermediate representation Which is smaller and then you had to expand this one back to the original dimensionality Again, you can use a under complete hidden layer auto encoder for doing compression for example Okay, so this is pretty standard. I would say does it make sense far? Okay, so we're gonna play with this in a second on the notebook Nevertheless, I will say I actually like this one more and you are gonna be telling me why You should be able to I mean you should have all the ingredients It's gonna be what's this is the six week. I think seventh six six week seventh week, right? I think I'm not sure Why do I want a larger intermediate representation? Expanding it into a space that's larger than the actual input space Okay, did everyone hear him No, try again. That was correct intuition. Just shout a little bit louder You want the network or the encoder to Encoding to extract as much information as possible from the input So if you expand it into a space that is larger than its original The visual space it belongs to then the features It's easier for the network to extract more features out of that because it's more sparser Right, so we always said that the larger we go in the intermediate representation the easiest is gonna be the optimization, right? and so Although the information that is contained in the first layer and in the hidden layer is gonna be the same I can't add information But it's much easier now for the network to play with a Representation that has you know much many more dimensions The point is that we can simply learn now the identity metrics and we are gonna be just copying everything You know you copy the first guy in the first post Spot second guy you copy here the third one you copy it here And you copy everything through you haven't learned nothing had learned the identity Therefore, we have to learn we have to apply some other types of constraint For the information and so we have to learn how to Introduce now we have to introduce now a information bottleneck. Okay, although we enlarge the intermediate representation We have to constrain the representation. We have to constrain the possible configurations that the hidden Layer can take The input layer can take as many configurations as you want The hidden layer should be only containing the represent the possible configuration that the training data the data on the Manifold can have okay, so the input can be everything you want But you're gonna be training only with data that is on the manifold Therefore the hidden layer has only to be able to model to capture what is the viability within the Training data and be insensitive to anything that is outside Okay, such that we can have a selective reconstruction of a subset of these in very large input space Are you with me? Yes, no Unless We are gonna see now how we avoid overfitting of on the training data So a few there are a few ways to do this make this stuff on the right-hand side work And moreover you may want to have you can have the same rationale also for this less than side guy here So let's say I have a super awesome decoder Then my encoder should could simply put all my training data as you know first training data is First point second training data is going to be number two third training data for St. Paul's gonna be number three So I can associate each of my training data as one number one two three four five six seven Whatever and then you have the decoder has memorized all the training data points And then you just output the training point that you want from these kind of selector, right? So you potentially may only need only one ball here one only one neuron in the hidden layer In order to have a network that does overfit as long as the decoder and the encoder are very powerful Okay, so the point is your colleague mentioned. Yeah, how do we avoid overfitting this stuff can overfit to? This stuff will overfit unless we are you know Kind of you know careful about how we design these things and so there are a few different methods There are contrasting methods And there are there are regularized methods and there are Architectural methods we have seen yesterday as well as something we can be corey now a few of these And we have 20 minutes left. Okay. Yeah Next slide. Yeah So do you know is it out encoder? How does it work? I take my input the pink one I? Put it away from my original point So these are my training and this is my data manifold each of these points are gonna be you know samples I'm gonna be providing for the training.  Okay, cool. Now. I enforce the network to be reconstructing that Initial point right so these are the noise and out encoder you take a point from your training manifold You take it you move it away And then you enforce the network to take it back Here I take the same point I take it away on the other direction And I put it back here. I take the same point. I put it another direction and I put it down here Okay, so what are we learning right now? We're gonna be learning a vector field Which has everything coming back to this point Then I start moving around my training manifold and I have all this kind of vector field like the vector field is gonna be all pointing towards the Training sample right, but if you have a training sample here and a training sample here This guy will try to attract here. He's gonna try a tracks there So things that are on the manifold stay there things that are outside manifold will be you know collapsing towards the manifold. Okay questions Okay All right, so actually there is a caveat caveat, right? Caveat caveat. How do you say caveat? Thank you All right, we assume that we are injecting the same noise distribution. We are going to observe in reality In this way we can learn how robustly We cover from it right so if we assume that we have Access to the type of perturbation we are gonna be observing later on at inference Then we can train the model to be insensitive to that to those kind of perturbations And this is a very big if Therefore, oh nice pictures. Okay. All right. So this is my training data This is my the pink points and I'm gonna be turning off the lights So I have here my pink points which look white to you Then I have the orange points without which are the displaced points Okay, so they are Originated from these points here and then I displace them in any very many directions Then I train my network to get all these orange points back to original starting point right and so This is the output of the network. I input this cloud of orange points in the network I train my network to output the points on on the actual spiral and therefore these are the blue points They're gonna be my reconstructions of the network. Okay, so if points were already on the manifold They didn't move if points are far away from the manifold. They moved a lot Guess what I can measure how much they moved and that's gonna be your energy How cool is this? Huh? Okay, maybe you haven't understood yet. So in this case in order to be a bit more thorough I just send every possible x y combination on this plane inside my network, right? So here you have this line because because all these bottom left corner got squashed down here And then you can see here points are quite sparse And then they are very very many of them densely occupied manifold nevertheless. There are a few points here, right and so this is Showing you with colors. What is the distance those points have traveled? So points over here in the bottom left corner have traveled one unit and they got down here I think points over here and travel also like 0.9 something and they went down here as As you can tell points within these two branches Didn't go anywhere Yeah, why is that? They are attracted by both points on this side and both on this side, you know on average during training Nevertheless, if you forget about you know having stuff that is curling on its own you have everything just drops down to here Guess what? I can put the Points that have just move a little bit again inside the out encoder And I can keep doing this a few times until these points collapse down to the manifold, okay? All right, or I can do something cool I'm cool, but it's a trick right so what did I do here? This is my denoising out encoder where I get to the initial point Where did I where I start from my displacement from right? So I got my initial point at this place and then I forced the network to go back to the initial point What happened here? How did I fix this? How can you fix these? Ridge here in this black this dark region Any guess You can send them randomly or Hold on someone there top right Push it up. How do I push that up? Oh, okay pushing up would be also very good So I also try to push up everything that is not on the manifold didn't quite work What did I do here it's a very It's a hack. Okay. It's not elegant. It cannot be done in a high-dimensional space So what I've done here is gonna be make your point fall on the closest point on the manifold And so I did an exhaustive search of the closest point on the manifold And then I enforced my network to always make my points fall on the closest point although They were maybe generated from another initial point, right? So if this point over here Initially originated from here, but it's gonna be always falling down on this direction Just a few points will not be you know, they are just in the in the middle way and they don't fall anywhere All right, so No in the more dimensions everything is far Right, so it doesn't quite work. Oh, we haven't covered that notebook yet. Okay. I'll show you next time. I guess well next next next time Yeah, so in this case I've done the denoising auto encoder in this case I got the displaced point to fall onto the closest point on a manifold so I did an exhaustive search It's it's simple because I have hundred and fifty points here, but it's a hack You cannot do that in reality Anyhow The point is that we we kind of have developed some kind of understanding And this one instead that the un really likes but I am not yet able to make it work So I guess I'm not that smart yet. It's a Regularized auto encoder in this case. I have a L1 regularization term cost on my hidden Representation so I force my network to come up with hidden representations Which are short and they are like short of a few dimensions, right? So if I have a L1 regularization on my hidden representation, I will only have a few items Active at a given time the problem is that if you set all those other Elements to zero and then you have zero gradients to send back. Okay, and so then you may want to use target prop and other Cute fancy things and I still am working on this So I have no idea how to make it work the point is that this is the regularization term So this is the L1 penalty on the hidden representation and this black dark here Region should be actually extending all around again. It's very Hard for the moment for me to get this to work not saying that is impossible. I'm just saying that I'm not smart enough Alright Contract the auto encoder and then we're going to be seeing the notebooks. Let me turn on the lights such that or maybe not I don't know. Shall I I? Like it so much dark Okay, whatever Okay, back on on the camera All right Again data manifold points training points. What is the contracted auto encoder doing? So this guy here. It's simply have the reconstruction term plus That thing here. What is it? gradient of my hidden representation with respect to the input Norm square in the overall loss, right? So my overall loss will try to minimize the variation of my hidden layer given variations on the input Okay, so here you want to have a representation for the input which is not changing that much as I wiggle my input Okay, and so this one basically makes Makes you insensitive to what makes you sorry insensitive to Reconstruction penalizing sensitivity to the reconstruction directions. So you actually will be able to reconstruct things over the manifold, but it will make you otherwise Insensitive to any other possible Direction and so this one we don't have an assumption over the perturbation I'm applying I just insensitive to everything, but then I still have many points here. So you will have to minimize the Reconstruction as I provide different samples Okay, and yeah penalize and incentivize as well, and that's just penalized Finally Okay, ten minutes left. Finally. What does this auto encoder do? As you can see I can use my plot sleep very well Here we have this training manifold, which is my single dimensional You know thing going in three dimensions and here I have all those data points. Okay Cool, so The X leaves on these set of data and It lives in our end what an out encoder has to do is gonna be basically Getting that curly line stretch down in one direction, right? And therefore you have there your Z in this case called latent space And so you get the first one there and then the second one over there the point is that How do I know how can I go from these back to here? I know if I'm in this first location, I can go back to this location I know if I'm this location I can go back there. I'm not entirely sure what's happening here There's no I only have training samples, right? So I only have the correspondence between points in the input space and points on the latent space. I Don't have any correspondence between Regions of the input space and regions of the latent space. Okay, so as as of right now You only know how to connect inputs to Regions here in the latent space and how to get back then we have learned that the denoising out encoder takes the input Shakes it, but you enforce to go back here same point and then you go back to the other location To define a location, right? So you take this one you shake it It's gonna be always going here and then you'll get back to the correct location or the denoising the Contractive you're gonna be the input and every you try to penalize any possible Wiggling of this one when you wiggle this. Okay, this is contract about encoder. Nevertheless, how can I? start from here move around and Get something that actually looks like a decent output Meaning if I translate this one If I have a dog here and a bird here embedding the latent space If I move on this line, how can I assure that the things on this line here will actually look like? Meaningful transformations in here. We don't know that right now We only know that this image is connected to this point this image is connected to this point We don't have any knowledge about what kind of behavior or how well we have the space is Whenever I move in this space Convert down here, right? So we don't know how this decoder that goes from the heat latent space to the Input space is behaving when we are not exactly in the points, right? So right now we have points mapping only next time we're gonna watch in we're gonna be learning how to map regions of the Input space with regions of the hidden space. Okay, right now we have point point All right, so notebooks in the last seven minutes Thank you for sticking with me Yeah, I'm moving too much. I'm I'm I'm panting CD work github PDL Jupiter conda conda activate PDL Jupiter notebook Okay, so I'm gonna be using this out encoder just the Number 10. Okay over there. It's invisible. I know but it's gonna be number 10 All right, so I'm gonna be just executing stuff Through all right. So what are we doing here?  Yeah, you can complain if you don't see things, right? I can't check too many things So we import some stuff. We have image conversion routine, which is simply adding Adding one and then multiplying by zero half because I have otherwise my data When I get my data, I try to get it zero mean and I have also in a range That is between minus point five to plus five so it is centered then here to get it back. I Some one so instead of being zero mean you go 0.5 mean and then I actually have Also, it goes from my it starts from minus one to plus one then here I just some one so it goes from zero to two and then I get it zero to one This is just some displaying routines and here. Okay. I show you that I subtract 0.5 and I divide by 0.5 my data. Those are the MNIST digits from young website Here we set the device If you want to run on CPU on GPU and in this case we have images that are the digits We saw that when we were training the convolutional net, which are 28 by 28 Pixels and in this case, I'm going to be creating an auto encoder which has a 30 dimensional Intermediate layer right hidden layer. So we go from 784 to 30 and time and then back to 784 So here is going to be my auto encoder model Just a linear layer a fine transformation like to 28 square to D Hyperbolic tangent and then I have the decoder, which is my generative model Which goes from the hidden space the latent space, which is D to 28 square and then I have again a hyperbolic tangent such that I limit my output range to minus one to plus one and And my forward simply is going to be send things through the encoder and decoder. I Create my model and then I create my criterion, which is going to be the msc loss learning rate and Adam optimizer and So this is going to be the training part. So you're going to be having whatever 20 epochs the first part is going to be Sending the images through the model. This number one, right number two is going to be computation of the loss Which is line number 15 Then third point is going to be clearing the gradients. Otherwise we accumulate. So that's number 17 then we do back propagation computation of the partial derivative of the final loss with respect to the weight That is number 18. And finally we do a step Backwards in the direction of the so you see this direction of the gradient you set backwards I'm talking a lot because the computer is just training. Okay All right, so you can see here. We went through 20 epochs And actually let me okay, let me show you how they look. So these are the reconstruction of my network, okay? These are the output of the network given that we compress them to that's 30 dimensional Intermediate representation. I'm going to show you the currency in a sec Let me change this one to the to add the knowledge in out encoder So here I create a dropout module, which is randomly turning off Neurons, I create my nose mask noise mask and then I create my bad images Which are multiplying those images to this binary mask and then I send to the network Those bad images these alterated images and I train this stuff again We also like to get to 500 dimensions, right?  Okay, this is correct And this is training Okay All right, so just recap of what's the difference between the previous training and the current training All right, so we were saying that Before we were just using a under complete Out encoder. So we were going from a 784 dimensional as input to a 30 dimensional hidden layer But now we are going to be using a over complete Still I use 500 here, which is less than 7 784 so one proper question would be why Are 500 dimensions? Like why does a out encoder with 500 dimensional hidden layer is considered or can be considered over complete Think about the number of pixels that are black, for example on average in these images All right, so we actually are already around this part So we were down to the training How does the training changes right now? I I have a dropout mask here Which is allowing me to introduce a some kind of perturbation on the original images Then I have my noise, which is simply applying a dropout mask on a Vector of all ones. This is going to be useful for later visualizations Then I create my images bed the perturbed images Which are simply the multiplication of my image times this noise So if we didn't have any Neuron dropped the noise would be just those ones and then you get one times image So you get the same image Otherwise when the the neurons are dropped and set to zero the image now is going to be Multiply by zero for those specific values of the pixels. So these image bed are images with black dots Then I input inside my model these image bed Okay And then the criterion it's between like is the distance between the output And the original image, right? So before we were Like in here we are inputting these perturbed images inside the model So those are points that are outside the training manifold But then I enforce them to be the original point, right? So you get the original point you perturb it So you put it away and then you enforce the network to actually Output this on so it's going to be trying to contrast any kind of perturbation that happened to this original point. Okay All right, the rest is the same, right zero grad backwardness step So this is also a train and we can check how these reconstruction look and If I can remember from the previous iteration they look much more Actually clean because I guess we are using a lot much larger Um Hidden layer, right? But before we couldn't use such a large hidden layer because you would have been overfitting, right? If you try to Reconstruct things that are always in the same point. We just can copy them over in this case You can't copy right because the input is not this point, but the input is actually the displaced point, right? So you learn a vector field that is bringing you back to the original position on the training manifold Okay, so let's go down and let's visualize the actually let's have a look to the previous filters I didn't show you so these are the filters of the Out encoder with a under complete hidden layer. Okay, and so you can see here There are some kind of patterns in this central area of these filters So these are the filters which are simply my rows or my w matrix that have been reshaped in a Basically an image such that I can visualize For you. So in this case in this notebook, we are not using any convolutional network We are just using those images that have been unrolled into vectors and they are compared. They are, you know, multiplied like scalar product against the The vectors right of the of my matrix. So these are the rows of my matrix that have been Reshaped such that you can make sense of what they represent so here for example, it looks like there is like a Loop upper loop detector or not a detector because there are purple, right? So these are would be negative the output Here you have like a zero here looks like some eight or three and then you have this kind of Right this this this kernel over here and that has basically learned nothing Or well, that's the only one that didn't learn much Uh, moreover, you can notice that all those points outside the region where the number happened Or any kind of interesting thing happened all these points are multiplied by a constant, right? Because it's outside the digits and so things don't change there Um, and therefore these noisy kernels over there, you know, the on average They will produce a score of zero, right? And therefore you're gonna have that the network Didn't care about giving any specific value to these outstanding these out out out there Other point out their pixels because again on average, they will not contribute to the final score What happened now? Uh, when we are inputting the data which have variable amount of Like pixel set to zero now these points will matter, right? Because it's not longer Continuous the value of the image. And so if I show you the new kernels Boom How cool is this, right? This is completely different. Can you remember? So here you can still have some pattern, right? But then in the majority of these kernels Regardless, like if you don't consider the one that did not did not learn anything So this kernel here are didn't learn much But all the other kernels that I've have learned some kind of specific edge filter or shape specific You know shape filter all the outside pixels have now been set to some Zero value. I think of some some value that is uniform, right because Again, the input images now are no longer constant in the areas outside the digit And therefore the value of the pixels well the value of the Of the value of the kernels in those specific specific regions now do matter. Okay. This is a big big difference And again this this this maps here these kernels here didn't learn anything Um, okay, so let's now compare our denoising out encoder with state of the art algorithms for denoising images So here we are going to be importing some functions from the opencv Library there is the neighbor strokes and then the tele algorithm So let's import it And let's see how this stuff look So here the first image is the noise image the one we generated before these are the maps of all ones Where we have dropped out some specific values to set to zero, right? So yellow is one and purple is zero in this case Then the second part is going to be The bad images. So these are the bad images meaning purple is minus one yellow is plus one And then this green is the zero value. So all those Uh Black points like purple points in the first row are here represented in uh in green So those are the values that are being set to zero.  So these are Like half of the pixels are provided to the network and then the network actually reconstructed What that what looked like the original image more or less, right? cool one, uh, so let's now have a look to what the Uh, state of the art algorithms output are so We're gonna start with the tele and then neighbor strokes And so this is tele and this is neighbor stroke, right? So as you can tell here the quality of our model Is clearly superior in terms of, you know, quality of qualitative output Um, nevertheless the attention that this model works just for this kind of specific perturbation that we have introduced And then we have learned how to counteract, okay so again A Encoder that we have trained in a in a minute performs much better than state of the art Computer vision algorithms again when data is available. Okay Um, and so I think that's it for today. Thank you for listening. Subscribe to my channel The non-denotification bell if you'd like to have information about latest videos and follow me on twitter. Peace. Bye. Bye


QuickBooks Online 2023. Manage users. Get ready to start moving on up with QuickBooks Online 2023. Here we are in our Geekray Guitars practice file we started up in a prior presentation using the 30-day free trial. We also have open in and incognito window the free QuickBooks Online test drive sample company which if you want open at the same time as your company file you would need to open in an incognito window or in another browser. If you support a counting instruction by clicking the link below giving you a free month membership to all of the content on our website broken out by category further broken out by course each course then organized in a logical reasonable fashion making it much more easy to find what you need then can be done on a YouTube page. We also include added resources such as excel practice problems pdf files and more like QuickBooks backup files when applicable so once again click the link below for a free month membership to our website and all the content on it. If you're using Google Chrome you could find the incognito window by going to the three dots up top and go down to new incognito window then type into the search engine QuickBooks Online test drive. We will be using these two files primarily to look at the differences between the business view and the accountant view with Geekray Guitars I'm going to be in the accountant view my preferred view and then jump over to the sample company to look at where things are located under the business view to change the views you can go to the cog drop down and switch to the accountant or business view down here so also note that we're zoomed in a little bit so I've hold control and zoom up a little bit I'm currently at the one two five percent on the zoom in now quick recap of our objective our objective as a business revenue generation as the accountant or bookkeeper we want to be able to facilitate the financial transactions and record them so that we can create the financial statements balance sheet income statement and related reports for whatever they need to be used for which could include taxes amongst other things and we also want to communicate with the people we do business with that being the customers the vendors the employees as smoothly as possible so the business can focus on what they do to generate revenue and not have to spend or spend as little time as possible doing kind of the accounting stuff so that's what our job is on the bookkeeping side of things how do we do that we set up the company file then we set up the underlying foundational things which include lists meaning the chart of accounts the products and the items so that we can facilitate the financial transactions as easily as possible using the forms which are found in the plus button and organized by cycle customer vendor and employee and then we communicate with the people we do business with by going to the centers on the left hand side the sale center customer center expense center vendor center and the payroll center employee center so what we're doing now is continuing with those foundational items that we need to set up so that we can facilitate them the financial transactions so i'm going to go to the cog dropdown we looked last time at the account settings now we want to look at the manage users going into the manage users now this represents basically who has access to your quickbooks files and notice that when you're in an online system as opposed to a desktop system one of the benefits are that you can have multiple people that can access the file that aren't in say the same location so you can give access to multiple people within the quickbooks file now we currently are in the plan that has the five users and you have the accounting firm as well so if you go over to the accounting tab i don't believe that's included as one of the five users and for most small businesses this is going to be a great tool because at the end of the year you've got to give this information to the accountant oftentimes at least for tax preparation if not for other needs for financial reporting needs as well and you also might want to ask questions with the accountant about the bookkeeping process so it used to be that you would have to do that possibly by printing out a bunch of reports printing out the income statement at the least in order to generate the taxes and then you got phone calls going back and forth and whatnot but if you can give them access to the actual file then they can look through the actual file when the questions come up and hopefully find what they need in order to fill out the tax return so that's going to be the accountant firm separate if i go back over to the users then typically of course we're going to have the main user so that sets up that's going to be the admin user and then you might want to have other users they are going to be helping you out with the bookkeeping obviously a small company might just have one user for example and possibly the accountant as the company grows you might have different people that are helping to manage the quickbooks and that's when it gets more complex and that's when you also get into the situation of whether or not you need to increase the level of the plan so just a quick recap if i go back to the intuit website and just look at the different plans we have here you've got the simple start the essentials the plus and the advanced the simple start you have a very limited users right and you don't have any included users and then over here on the essentials one of the main things that you get is it includes the three users so you can invite your accountant to access your books control your access levels and share reports without sharing a login so you can have multiple users without sharing a login and then we're currently in the plan with five users this is kind of like the standard one let's go and see more here save time when you work together invite your accountant to access give employees specific access to features and reduce errors with auto syncing so in other words now you you're thinking you've got multiple people working in the quickbooks file you your next step in as you grow is to enter internal controls within to the system meaning you don't want everybody logged in as the admin you want to limit the things that they can do within the system and then you the further want to limit the information as you grow so they don't have access to every component of the accounting process and then protect sensitive data with user access levels and share reports within the sharing a sign in and then oftentimes as companies grow the number of users going up from there includes more than five becomes a significant important component because again you come to more specialized internal controls as you have as you have more people working in the accounting department so if i go back on over here we currently have the one user if you wanted to add another user you can invite them so let's see what that process looks like i'm going to add a user here and then it says this this count towards your user limit so standard user that means you can give them full or limited access without admin privilege so they're not the admin but they have they have full or limited access and then you've got the company admin they can see and do everything this includes sending money changing passwords and adding users not everyone should be an admin so usually the setup would be you've got one admin and then you set the rest up as standard that would be the typical kind of process you would think so these don't count toward your user limit so then you have reports meaning we have five users they're saying these don't count towards our user limits they can see all reports so now we're just giving someone access to the report so if you're doing business with someone and you're and they want the financial information you can of course print the reports and give them to someone but you might say hey look here's here's access to all the reports so you can see whatever reports you want they just don't have the capacity to do any changes in your account that's also another option that you could give say to an accountant if you if you just want your accountant to look up the information they need in order to do the taxes and you don't want them to do anything to your to your account or anything like that have any other access then you could possibly give them this one down here and again it doesn't count towards your user limit which is nice so and then it says great news you have a quick books time subscription invite your your team so you can also invite them in a time situation to enter basically enter their time as well and so I won't get into that right now but let's go well just a quick overview on it you know that means that they can basically enter their time into the system and the time is something that you can use to invoice with and or to use as part of the payroll process so let's go to the next and then we've got our options so how much access do you want this user to have so we've got all access payroll access you can have all and you can check off the payroll they can say none here and then no no accounting features access this user can't use any of the accounting features but you can still let them manage certain things and submit their own time sheets so you might use that in that scenario where you want them to enter basically the time sheets and have very limited access and then you've got limited if you choose limited then you've got your items down here the customers and the vendors so remember we talked about the cycles so usually when you're working in an accounting department you might be working in a particular cycle so if I jump on over to the flow chart here we've got the vendors the customers and the employees so as things become more specialized you might be working in just the vendor cycle or the accounts payable or the purchase cycle the expenses cycle or you might just be working on the customer side of things and then further as you get larger you're going to be wanting to separate duties within the cycles so it becomes more difficult for people to basically commit fraud right so I'm going to close this back out so if you choose the customers then this is what they have this user can enter estimates invoices sales receipt credit memos and refunds so those are typically the things the forms and the customer cycle enter chargers and credits create and delete statements so the statements are the things that are used to to try to collect on the accounts receivable which if you're in an accrual system is going to often be a large part of the job when you're working there I receive payments from customers fill out time sheet for anyone add edit and delete customers products and services so that might be part of the you know the the the process when you're billing someone to add the customers as you're doing and the products and services what you're selling view customer register and reports view tax rates and aging settings use and adjust sales tax and sales transactions and general journal entries including manually overriding calculated tax amounts and then add edit and delete currencies and then edit exchange rates they can't print checks including refunds make bills and purchases billable to customers add edit and delete accounts and quantity on hand view bank registers see total income and expense amounts on home vendor and in customer pages run tax reports or view tax history prepare or file a sales tax return or record sales payments set up new or charge existing tax agencies or settings set up multi currencies perform home currency adjustments if you go to the vendor side you could select both of them if we go to the vendor side of things then you've got the vendor information which you would think would be mainly the forms included in this cycle on the flow chart and so you got the enter in the bills enter cash enter pay bills print checks add edit view vendor ap view tax rates using adjust sales tax run tax reports and so on there so those are the two options let's say that we just go with all here on them and then I'm going to say next and then select user settings do you want this user to add edit and remove users so the default is no and that would typically be the case because usually that would be something you would expect done by the admin do you want this user to edit company info again no usually would be the case because you would think that would be done by the admin do you want this user to manage subscriptions and you probably say no because usually you would want that to be done by the admin account so I'm going to say next and then what's what's their current their contact info so we'll invite them so you put their name and then their email and then they can be invited from there and then once we've done that so now I've invited someone here and and then they haven't accepted so I can resend the invitation if I so choose then I would contact them and say hey you should get an email with the invitation on their side the email should look something like this it says hi they've asked you to join the quickbooks plus team for get great guitars ready to get started that let's go I got questions and so on so we can then go to the let's go and on the acceptance process so then we have to sign in on this side of things so one account for everything into it including quickbooks so then they would have to accept the invitation and then it would say success you have access to get great guitars on their side of things so we'll open it up and they have the welcome page we're glad you're here here's what we'll do together and so on and so forth and so I'll just say uh next what's your main role I'm gonna say uh let's say employee next and then what do you want to do today start quickbooks I'm just gonna skip the intro and then there it is so let's go let's go then and so now I'm in on the other side I'm in another browser uh and looking looking at it thusfully so there we have it so now we're in it here and so there's our our information up top and I should have limited access to like the accounting information for example so if I go into here you know I can't change this stuff right I can't change this stuff up top because I have limited access and then if I go back on over to this one this is my admin account in the get great guitars and if I refresh it with a little refresh button I should see that Jane has accepted at this point in time so that has been accepted so there we got it and she is now in as a standard user so it's a pretty pretty nice system and it's pretty easy to set up like I say with multiple people and in basically different locations you could set it up pretty easily and then we can edit we can edit from here if we needed to edit what we put in for them and edit their information thusfully or we could delete them from here so that's the general idea I don't think we've done anything different in the accountant view versus the business view so if I open up the the business view notice that the cog is the same up top there's not any change there's there's the the plus button is the same over here the big change under the two views are going to be on these icons on the left hand side


Hi everybody. My name is Dan Delamarsky. I'm from Microsoft. I'm not the official spokesperson, but Linux is awesome. My team uses a lot of it. So I'm personally part of the docs.microsoft.com team. We've done a lot of work to migrate our closed-in, closed-source solution to an open one. So this is a short talk about how we did it. And some lessons learned. So Doc's part of the product. So key principles that we kind of established for ourselves as we grew. And as we were thinking about moving from MSDN to this new solution. Number one, we wanted to go where the community is. If we would open-source our documentation, this means we want to go where people are. And it so happened that people are on GitHub. But we'll get to that. The other one was relying on standards and tooling that is actually used in the industry. We did not want to reinvent the wheel. We did not want to create stuff that is used just within Microsoft. We wanted to listen and respond to feedback. We wanted to automate things. And above all, we wanted to be the ones that also consume that system. So it's not just something that we just push out to the world and let it just be out there. So going where the community is, we like to think of our team as we were using GitHub before we acquired GitHub. It's the one place where open-source software happens. Community is there. A lot of people that use GitHub, they know how to use it, they know how to fork repos, they know how to issue PRs. That was the perfect place to grow the documentation system on top of. So content management at scale, so when it comes to us documenting many, many, many open-source products that we have, and even products that are not open-source, it's very easy. All you need to do is just create a new repository and it's right there. Contributions are also easy. It's very hard to point somebody in this room and find somebody that doesn't know how to use GitHub. So like I said, fork a repo, edit, submit PR, we'll review the change, and we'll merge it. Relying on standard formats and tooling, that was key to us. We did not want to reinvent the wheel, we did not want to create another flavor of XML or JSON or anything specific to us. We wanted to use something that the community uses. So markdown, again, going back to the history of GitHub, you know how to markdown was used very widely. So that was our foundation as well. So we used a common mark compliant flavor of markdown. Any extensions, anything that we built on top of it, clearly documented, anybody can reuse it. Tools to auto-generate documentation, we wanted to make sure that any API that we documented is not documented by hand. So in the days of MSDN, everything was handwritten, tens of thousands of docs were created manually. So writers would, you know, toil day and night and create them. It was very cumbersome, it was very cumbersome to edit, modify, remove and sunset and so on. So we decided to automate that process. And also I'll get to it in a second. We wanted to also listen and respond to feedback. So one of the key failings of a lot of resources is when customers submit feedback, they don't know where it goes. If I report a typo or report an issue, I want to know that the team acts on it. So GitHub was the appropriate place for that as well. We moved all our feedback to GitHub. Any comments on articles are now GitHub. We want to make it easy to submit feedback. So just log in on any article and you get the feedback right there as any comment section. Follow up. We make sure that for any issue that you open, in the open, on that GitHub issue, we comment whether we're going to do it, we're not going to do it, we're going to research it. Anything like that. It's very easy and the community loves it because we're being transparent. We're explicitly telling you what we're doing, how we're doing and when we're doing it. We want to recognize contributors. So now it's easier than ever for us to look who contributes to docs.  We know exactly because we look at our Git commit history and that makes it insanely easier for us. Automation is your friend. Really it is. We focus on delivering the experience and automating the rest. So things like PR validation, testing sample code, things like SEO validation, structure validation, code generation, making sure that all your articles in a table of contents, all of that is automated. So if things happen such as broken links or broken references, it's not us humans that catch it. It's essentially automation systems. So we have all those in place, a huge step from our stand. So as we move it over, we get those benefits. And at scale, everything that is not automated is slowing you down. So one thing that we learned for us is as we build our system, we want to automate everything to the max where humans just focus on the experience and the content.  We use our own systems. So we build everything and we write our own documentation internally with our systems as well. That's all I have. Thank you.