{"id":3573,"date":"2018-01-31T15:21:09","date_gmt":"2018-01-31T15:21:09","guid":{"rendered":"http:\/\/dalelane.co.uk\/blog\/?p=3573"},"modified":"2019-08-08T15:46:10","modified_gmt":"2019-08-08T15:46:10","slug":"explaining-crowd-sourcing-in-machine-learning","status":"publish","type":"post","link":"https:\/\/dalelane.co.uk\/blog\/?p=3573","title":{"rendered":"Explaining crowd-sourcing in machine learning"},"content":{"rendered":"<p><strong>I pushed a new feature to <a href=\"https:\/\/machinelearningforkids.co.uk\">Machine Learning for Kids<\/a> last night: &#8220;class projects&#8221;. Now a whole class of students can work on a project together &#8211; all helping to train a shared, group machine learning model.<\/strong><\/p>\n<p>I&#8217;ll write some proper documentation for it, but in the meantime I thought I&#8217;d share a few quick thoughts on how this works and what it&#8217;s for.<\/p>\n<p><!--more--><\/p>\n<h3>Why?<\/h3>\n<p>Until now, students created private projects, to independently collect training data, and train their own machine learning models. That&#8217;s still the default.<\/p>\n<p>But there are reasons why it might be useful to sometimes have students work together on shared projects.<\/p>\n<h4>More ambitious projects<\/h4>\n<p>It opens up more ambitious projects.<\/p>\n<p>Say you want to do a project where kids train a text classifier to recognise passages as being one of four different types. If you start with a goal of ten training examples of each type, then you&#8217;re asking each student to type in forty passages.<\/p>\n<p>For many kids, that&#8217;s not a realistic goal for a lesson. That&#8217;s too much typing to do in too little time. So that project would&#8217;ve been too ambitious to consider in a code club session or school lesson.<\/p>\n<p>Now think of doing that with a class of 30 kids. If each student can manage typing in just two examples, then they&#8217;ve already collected 60 passages &#8211; more than enough to try the project.<\/p>\n<p>Suddenly a variety of more complex and ambitious projects become realistic.<\/p>\n<h4>A lesson in crowd-sourcing<\/h4>\n<p>This lets us explain the use of crowd-sourcing in machine learning. We can use the sort of small-scale experience in the classroom I described above as a demonstration and metaphor for big real-world projects.<\/p>\n<p>When kids see how much easier it is to do a machine-learning project with 30 people than 1, then it&#8217;s not a big leap to realise how much easier it would be with 300 people or 3000 people. And how the complexity and ambition of the projects could continue to grow.<\/p>\n<h2>How it works<\/h2>\n<p>Teachers can now optionally choose to create &#8220;class projects&#8221;.<\/p>\n<p>This is a project that they create and set up, but which will appear in the projects list for all the students in their class when they log in.<\/p>\n<p>Students can&#8217;t do anything too destructive to these class projects that they access (so they can&#8217;t delete the project, they can&#8217;t remove training buckets, etc.) but what they can do is add training examples to the buckets.<\/p>\n<p>When it&#8217;s time to use the examples to train a machine learning model, only the teacher gets the &#8220;Train ML model&#8221; button. The model that is trained is made available to all the students in the class for them to use in their own Scratch projects.<\/p>\n<h2>More detail?<\/h2>\n<p>I&#8217;ll write new &#8220;crowd-sourced&#8221; versions of some of the <a href=\"https:\/\/machinelearningforkids.co.uk\/worksheets\">existing worksheets<\/a> that I think would most benefit from this.<\/p>\n<p>For now, I&#8217;ve quickly started with &#8220;Sorting Hat&#8221;, so you can look at the <a href=\"https:\/\/machinelearningforkids.co.uk\/worksheets\">project worksheet for &#8220;Sorting Hat&#8221;<\/a> as a rough idea of what this might look like in practice.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I pushed a new feature to Machine Learning for Kids last night: &#8220;class projects&#8221;. Now a whole class of students can work on a project together &#8211; all helping to train a shared, group machine learning model. I&#8217;ll write some proper documentation for it, but in the meantime I thought I&#8217;d share a few quick [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[587,536],"class_list":["post-3573","post","type-post","status-publish","format-standard","hentry","category-tech","tag-mlforkids-tech","tag-scratch"],"_links":{"self":[{"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3573"}],"version-history":[{"count":0,"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3573\/revisions"}],"wp:attachment":[{"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dalelane.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}