Bättre gradient descent opererande på distribuerade ordvektorer med grov skattning information in via addition och information ut via subtraktion

2017-06-15

Komplettering: Jag tror jag får följa upp med något exempel här för att göra enkelheten tydlig. Enkelt är inte alltid enklare att bra förklara. I övrigt kan läggas till att effekt för mig överstiger övriga optimeringar nära själva gradient descent delen av logiken d.v.s. medelvärdesbildningar gradienter, utnyttjande moment, förändrande träningskonstant utifrån riktning gradienter nära i tiden (positiv eller negativ riktning) o.s.v. bland normala optimeringar. Någon anledning att tro att samma värde finns för data som ej kommer från språk tror jag inte riktigt på men å andra sidan tror jag värdet gäller utan just någon skillnad effekt eller metod för alla distribuerade vektorrepresentationer ord och flergram (eller ämneskontext) skapade med alla normalt förekommande algoritmer.


Poängen med gradient descent är att den fungerar och tillåter hög abstraktion för människan. Nackdelen är att fokus forskning optimering resp. skapelser tenderar att hamna uteslutande i antingen själva abstraktionen (d.v.s. avseende metoder så som moment eller medelvärdesbildning), steget från en tänkt funktion vi deriverar (och är tänket vettigt avseende vad vi skjuter in i algoritmen från logiska regler för anrop resp. motsvarande derivatan kan man om ett eget värde ej finns gå långt utanför att anta att funktionen existerar eller frågor om den ser ut i mening av att man kan saker längre här genom att temporalt gå över till "varianter" av derivatan jfr för vad jag började med att pröva just här som exempel: Tänkbar modifikation av algoritm kvantifiering vektorer att använda mot slutet av träningen. Men att något jag prövat här egentligen är värt besväret utan medvetenhet om informationens form är troligen i allmänhet mindre vanligt annat än för resultat tänkta att användas längre tid.), medan samspel med själva informationen vi för in lämnas.


I särklass vanligast tvivlar jag inte på är att man funktionen antagen att deriveras är L2-distansen vilket ger oss att modifikation som sker följer L1-distansen i resp. steg. För vektorn opererar vi nu per position lämnande frågan om hur informationen ser ut till övrigt. En mängd varianter jag mentalt sorterar i samma grupp utnyttjar mer övergripande över resp. vektor kontra övrigt similarity ovanför vilket vi kan se som ett exempel på hur vi kan utnyttja informationens natur.


Nackdelen med alla dessa algoritmer är givetvis inte att de i allmänhet är så väl tilltalande enkla som mycket levererande i resultat utan att de liksom gradient descent tenderar att lura oss - eller mig tidigare åtminstone - att missa det mer uppenbara när det kommer till våra ordvektorer. Betänk gärna de mest grundläggande och triviala måtten på hur träning clustering går: bias och varians som indikation på var vi ligger i att avskilja motsvarande träningsdatat (d.v.s. risken / nivån av överträningen) kontra risk för inkludering defekt men också chansen / möjligheten (vad åtminstone jag i allt aktuellt språk tar som grundvärdet sökt) att också ej träningsdata men vad som motsvarar träningsdata inkluderas.


Tänk att vi nu har vår principiellt enkla träningsalgoritm resp. en bunt sinsemellan ganska jämförbara koncept närastående ovanför (ex. vektor-kvantifiering) men att vi kan ha missat en i enkelhet och prestanda jämförbart koncept. Ett koncept som tar in hänsynen till informationen kompletterande similarity som utnyttjat och föga kostsamt prestanda (knappt märkbart alls).


Givet att jag hade missat att se möjligheten om ej för att egentligen allt jag gjort efter 1997 cirka. Ungefär när jag började skriva Kryptering från början till slut. Alltid inkluderat var gång ej helt borta att göra att betrakta som tum-mått informationen utifrån komprimering.


Och i träningen här: Hur mycket information går in? D.v.s. via additionen av relevanta samples för som aktuellt just nu för mig några av mina "ML" / More-or-less - Positiv / Negativ - i 1-gram cirka 6000 vs 9000 i följande bias-engelskan för större uttryck frekvens positivt men med fler ord för negativt och sist kontrollerade precis som det ska vara (eller adderar jag timmar korrigerande) för alla core-ml försvarligt större än något publicerat -, Known / Unknown (Unknown ska jag återkomma till här: När den föreslår mig utbyggnader under träningen får man ett fascinerande "negativt" perspektiv av vek ekonomi: Kopplingen i extremt stort under vektorerna corpus mellan unknown som grund definierat och ekonomi överraskar mig fortfarande pågående regelbundet) - resp. ganska små i 1-gram krävande fler två gram för särskilt unknown och båda cirka 3000 - 4000 st, UP / Down ~ Active / Passive - båda "gigantiska" redan i ord ovanför 10000, Trust / Distrust - mindre men besläktade positive-negative cirka 4000 båda om jag minns rätt). Samt informationen vi tar ut när subtraktion sker d.v.s. för mig antingen:


  • Riktat. I de flesta fall att ex. "positiv" tar bort information från "negativ" därför att negativ för en ord-vektor uppvisar att den defekt känner sig mer hemma med ordet än positiv. Vad som kräver human-work-unit Hans att av och till kontrollera det hela eftersom samma del av algoritmen skapande träningsdata ibland fört in koncept folk ej i corpus tillräckligt rent använt jämförbart (samt att enstaka underligheter kan vara fallet). D.v.s. koncept humor visade sig exempelvis ej bra att behålla i positivt. Troligen därför att för mycket diskussion humor som kommersiell-produkt stör saker, att komedi kan handla om för positiv problematiska ämnen, samt en här visade sig försvarlig mängd corpus vi kan nöja oss med att säga är löst relaterat till konceptet skadeglädje (satire har något lite av samma problem men i kontrast ej i närheten av nivå att man behöver ta bort det från positiv).
  • Kontra mängden ML allmänt. D.v.s. koncept tränings-data någon ML men ej den kategori aktuellt för ordet och ej dess "motsatta" ML.
  • Kontra mängden alla existerande koncept. Där jag praktiskt valde att endast inkludera ord följande A-Z resp. ord A-Z med "-" där "-" i mina ordvektorer motsvarar bigram som jag valde att ta med utnyttjande detta som notation. Övrigt lämnande etniska uttryck (jfr åäö för svenska ord eller i mängd desto mer allt möjligt från Indien m.fl. länder) är i hög andel funktionella motsvarigheter till "-" men uteslutande avspeglande vissa kanal-preferenser så som diskussions-forum, nyhetstitlar o.s.v. Nyhetstitlar är mycket funktionella för att expandera ord åtminstone när de indikerar första ordet i titel liksom p.s.s. (jämförbart funktionella) indikerande citat. Indikerat forum där själva ordet avslutas "..." är mycket funktionella för expandera med manuellt för starkt emotionella koncept medan hela gruppen i övrigt visade sig för ML sämre att utnyttja (det förvånande mig verkligen eftersom ML-kategorierna är så emotionella till sin natur och gruppen i sig är funktionell för ämnen inom åtminstone politik för expansion följande grundordet) vilket också gäller allt relaterat corpus som har med diskussion i text att göra.

Jag upplever att sista subtraktions-typen som jag använt det ej är orelaterad till eller felaktig att se som en form av variant (men via algoritm använd i övrigt) till att grovt subtrahera bort någon form av viktad medelvärdes-skattning av hela världen.


Struntar jag i all subtraktion och dessutom väljer givet hyggligt färdiga tillstånd addera allt modifierande resp. stegs träningskonstant med ordets similarity får vi en mycket god skattning av hur ord allmänt motsvarar kategorin i similarity. Men med begränsningen av att särskiljandet mot andra kategorier snabbt försämras. Vi hamnar i vad som inkluderar och för in information från allt vi vet i positivt träningsdata. Hade det endast varit världen är det ej ett problem men som är typiskt är en stor del av värdet att kunna särskilja mot andra kategorier. Det är - motsvarande min arkitektur här - det naturliga andra steget att utnyttja "dagens" träning av händelser fortlöpande givet det första stegets träning till att uttrycka distributionen. Första steget ger möjligheten att särskilja en ML trovärdigt medan det andra givet att den klarar detta kan koncentrera sig på den kanske enklare utmaningen att uttrycka diverse viktade distributioner (så som hur lik ett koncept eller en grupp av koncept är till en ML, eller troligt uttryckt i världen enligt dagen, nivå spreadability o.s.v. motsvarande egentligen alla viktsystem jag annars genererar ut av och till).


Det intressanta i kontrasten lager ett och lager två är att i lager ett kan vi skatta mycket nära till slutlig effekt nivå överträning kontra inkludering okända men tillhörande koncept resp. antalet ej upplevt tillhörande koncept som rangordnas högt i similarity utifrån mängden mängden information adderad resp. subtraherad. Hade vi nu med mängden information avsett sannolikheten för en given vektor med "höggrad av medvetenhet" om korrelation mellan positioner o.s.v. eller intressantare dess "effekt-volym" (eller vad vi kallar det) i mening av totala likheten det uttrycker med ett antal eller alla av övriga ord existerande, så hade det varit mindre intressant därför att det hade kostat ganska försvarligt i beräkning nödvändig. Men menar man - och jag gör det - att mängden information mer är av ett degenererat koncept utnyttjande grova skattningar hörande hemma i antaganden om diverse samverkande normalfördelningar vi inte ens behöver trovärdiga skattningar av rörande varians-moment för (utan sådant är mer något vi för tidiga moment kan beräkna samtidigt) är praktiskt på samma nivå som övriga koncept utnyttjade: Det kräver ej mer än gradient descent eller similarity.


Och hur laborerar vi då med detta? Och här är själva kärnan av värdet. Träningen gör sitt. Av och till. Ganska sällan. Inte ens en av tio epoker. Kontrolleras grovt vad genomsnittlig likhet - cosinus-similarity - ligger på för orden som tränats mot respektive kategori i övrigt. Ligger det över något värde. Drar vi slumpmässiga ord - säg 1000 till 100000 st - tills mängden informaton vi subtraherat går över tröskelvärde.


Personlig tumregel att vi alltid kan göra addition (implementerande med en vettigt sund grundnivå vilket inte är givet i mycket man ser publicerat där överträning som koncept tycks ha definierats helt opraktiskt som vad man tror sig löst med ett held-back-corpus definierande det som problem vilka endast kan manifesteras på samma abstraktionsnivå som algoritmen man tränar med vilket nu ej är verkligheten: Stor fördel här i forsknings-områden där clustering är mer av en praktisk metod använd i ett "större" huvudsakligt mål så som medicin kontra där det är huvudsaken) utan att riskera att överträna (men självklart förande in typiskt för varje koncept i träningsdata en viss mängd junk-informationen ej bra för idealiseringen tillsammans med värdefull information). Medan när vi börjar subtrahera givet addition kommer alltid risk för överträning vara fallet. Personligen tycker jag att det är en excellent start-punkt demonstrerande att del-komponenter fungerar som de ska tillsammans. Arketypiska ord motsvarande träningsdata ger höga värden medan allt i övrigt ligger nedåt negativt i similarity oavsett om konceptuellt relaterade eller inte.


Vad jag vill se det som sker i algoritm-steg här är att vi drar bort vad motsvarar en skattning av mängden "allmän" och orelaterad junk-information ordvektorerna var för sig i liten utsträckning för in tillsammans med information relevant för idealiseringen:


1. Sund och god informationen i dom men just här ej relevant. Kategorier positiv och negativ kan ex. grov-tränas adderande allt varefter kategorier UP / DOWN subtraheras från dem. Det tar nu bort aktivitets-relaterad information. Gör vi det endast för UP får vi starkt uttryck likhet mot positiva ord som ej inkluderar att man gör något: Tänker vi visuellt koncept som har att göra med att slött titta på något avkopplande storslaget (och själva orden motsvarar i äldre Flickr corpus sådana bilder), eller ej aktiverande positiva koncept som har semester att göra. Ord som är "serene" (som låg någonstans topp tio):

"Peaceful, calm, unruffled.  [quotations ▼]
She looked at her students with joviality and a serene mentality.
Without worry or anxiety; unaffected by disturbance.
(archaic) fair and unclouded (as of the sky); clear; unobscured."

Wiktionary.
Notera ovan också "archaic sense" som i ML-kategorierna diskuterande är starkt "KNOWN".

Detta är information vi kan välja att avlägsna från resp. ord - eller en skattning av den - också pågående under träningen. Det är vad jag experimenterat med att göra utnyttjande att tillstånden börjat närma sig färdigt och därför var för sig ger goda skattningar. Adderar jag ord till positivt kontrollerar vi om också en negativ sense-definition eller användning (kontext i corpus) existerar, och om så försöker vi ta bort en mindre andel av den följande övergripande vektorns positioner korrelation till den som förenklat och skattat via similarity (snarare än cross-correlation vilket tenderar att vara i allmänhet om ej prövat här lite starkare men ej mer än att det ej är i närheten av värt kostnaden i beräkning det innebär att göra) mot negativ-idealiseringen (jämför med de algoritmer för ortogonalisering med ej ovanligt praktiskt användning så som Gram-Schmidt där jag avstår att länka Wikipedia som jag här minns som tungt inne i matematiska koncept utan särskilt mycket om just något alls av de många bredare praktiska användningar normalt använd för. När matematikern kommer och visar upp sina lemma m.m. svår-begripligt och väldigt tråkigt ska man precis som man pop-up fönster relaterade gratis film vara på sin vakt.). Konceptuellt är detta kostsamt och på det stora hela givet en del manuell-tid det tycks kräva (för mig åtminstone) högst tvivelaktigt ger något man ej med bättre resultat gör i diskreta tidpunkter eller sist när övrigt är färdigt. Orsaken är det ej är så mycket denna information som är problematisk. Är det relaterat på nivå att vi kan göra detta är avgränsbar och vi kan välja när vi tar bort den. Och att ta bort den pågående innebär att vi gör antagande om att vår similarity-operation klarar detta tillsammans med som normalt en enkel subtraktion utan att vi tappar värde i övrigt (bl.a. ökande antalet träningsoperationer nödvändiga från att resp. idealisering här delar viss för dem var och en korrekt information att ha kvar) vilket förvisso är funktionellt men i nivå defekt är relaterat till antalet koncept vi har i träningsdata aktuell kategori resp. kategori som skapar de idealiseringar vi avlägsnar likhet till resp. antalet gånger vi behöver göra det. I kontrast till att kunna utnyttja alla ord vektorer finns för, ej ha beroende till någon idealisering, och dessutom ej ha större beroende till idealisering vi avlägsnar information från än att man kan avstå från att kvantifiera likheten helt (för att istället reducera ner träningskonstant ytterligare och öka på antalet slumpmässigt dragna ord).


2. En viss mängd information troligt ytterst irrelevant för vilken som helst idealisering aktuell men som kommer i "form" uppvisa likhet till motsvarigheter hos ett ej oväsentligt antal andra ord i samma ML eller andra ML aktuella. Detta är information ytterst svår att enkelt se. I någon mening sker träning för att som väsentlig del av det eliminera effekten av denna information. Detta är information som kan få ett ord positivt att uppvisa hög likhet med ett ord negativt. Likheten är i allmän mening ej inkorrekt men den har ej med positivt och negativt att göra. Är informationen irrelevant är det lyckosamt - lyckosamt på ett sätt vanligt för språk och engelskan är snarare bättre här än språk allmänt - om den också när grundläggande kategoriseringar tas ut gärna förekommer jämförbart i mängden ord ej inkluderande som ord som har något att göra med kvantifieringen eller clusteringen vi gör. För distribuerade ordvektorer är det lätt att se exempel här, och är så pass tydlig att många förfallet ned till att välja att se vektorerna skapade enligt normala algoritmer som uttryckande just denna större grupp, i topics d.v.s. de ämnes-kontext som sker över ex. som aktuellt här emotionella-dimensioner orden uttrycker, eller som ej aktuellt grammatiska preferenser i språket (startar man från LSA skapande ordvektorerna följande normala algoritmer är det ej fallet att endast ämnen enkelt ges av vektorerna utan försvarliga mängder information relaterad såväl syntax, ordformer, grammatik m.m. ges också ej linjärt d.v.s. att särskilja i similarity exempelvis grateful mot ungrateful är alltid möjligt men kan normalt kräva att man antingen gör efter-processande av vektorerna eller gör någon beräkning mer än cosinus-similarity direkt på dem. Mängden relevant information som kommer med är rent sanslös i storlek och vad som normalt utnyttjas är normalt försvinnande lite av den. Tänk här för de 400 positioner jag började på efter LSA och därefter tog ner till 300 att vi fortfarande är på 300 * 64 bitar: 2^64 hade för något mindre begränsats till 1.8446744e+19 och antar vi att ingen information alls existerar som uttrycker samspel mellan resp. position kan vi multiplicera med 300. Emellertid är det just samspelet och där redan i själva corpus-texten definierande resp. kontext-sample som är grundprincipen vi komprimerar och dimensionsreducerar utifrån - så hellre att vi ska sätta yttre gräns överdrivet men konceptuellt mer korrekt betraktande vektorerna som 300 st double d.v.s. 2^(300 * 64) bitar vilket nära nog rymmer vad som helst).


3. Slutligen en viss mängd relaterat algoritmerna som skapade dem men ej sunt återspeglande indatat - d.v.s. för mig i första steget en variant av LSA utnyttjande givna sannolikheter till 400 * 64-bitars double följt av dimensionsreduktion igen till 300 * 64-bitars double via en variant av Kohonen-nät förädlande också till en-dimensionell topologisk-sortering som Human-work-unit Hans manuellt kan korrigera när behov visar sig ex. dominerar namn ett antal positioner i dom höga värdena och skulle mot förmodan säg "the" visa sig ligga högt där är det enkelt att ta ner det till en sund nivå för positioner ungefär där säg it ligger: Den mänskliga sidan av IT är så viktigt vilket är så vackert illustrerat också i världsekonomin i all outsourcing till låglöneländer - många människo-timmar motsvarar bättre IT ty naturen av IT är ej att spara tid utan att göra saker ungefär som att "göra" titta på film kostnadsfritt vilket också kräver att man lägger tid på att döda fönster med reklam för ponografi, ekonomiska bedrägerier o.s.v. Lite timmar == Dålig IT) tillsammans med egenheter corpus som mer är att se som ej uttryckande verkligheten). Ett värde med LSA här är också dess nedsida (varför man just ska ta som självklart att man ej använder grundvarianten av LSA utan gör sundare viktning för sannolikheter) i att problem corpus tenderar att flaggas upp via övertydliga uttryck för den större gruppen koncept detta kan vara aktuellt för: Ord som är ovanligt ovanliga och relativt få kontext fanns för (många människor tycks ha som ovana att sätta sig att leta upp ovanliga ord och sedan gå ut på nätet och okynnes skapa icke-representativa "medelvärden" för kontext normalt förväntade av människor: Det är ett förbannat dåligt sätt men inte mycket man kan göra åt för väldigt ovanliga ord).


Grupp ett hanterar algoritmen och kvarstår något besvärande hanterar vi det jämförbart eller bättre sist. Övriga två grupper tycks bl.a. för mina ML vara funktionella att anta är representativa i alla övriga ord i mening av att drar vi dem slumpmässigt får vi en representation av hur detta ser ut i ej små kategorier av träningsdata. Och behovet är skattningsbart från hur faktiskt träningsdata uttrycker sig kontra konkurrerande kategorier. Och operationen i sig medverkar ej tycks det alls till överträning: Tvärtom testande det tar det bort överträning om man tillåter effekten av det hela gå högre än normalt annars fallet för det. Ej heller över epoker påverkar det negativt genomsnittlig korrekthet - och mindre väntat ej heller väsentligt genomsnittlig likhet mot egen kategori (vilket annars är ett funktionellt mått på att man får effekt av många operationer inkluderande subtraktion: Vi kan ta bort information och öka korrektheten men kommer tendera att reducera magnituden för vektorerna vi idealiserar och alla ord's vektorer åker därför gärna ner en bit i sin similarity). Bra samspel med gradienten och funktionerna den antar sig laborera på derivatan under verklighet av program-logikens beslut (d.v.s. sådant som att vi bättre ej låter den få mer data och operera på sin approximation om konceptet vi just då har redan tycks beslutas i rätt cluster: lätt fascinerande har jag många gånger tycks - självklart när vi betraktar vad vi gör som att komprimerar information och här ej önskar ett onödigt svårt problem genom att också stoppa in information vi ej behöver d.v.s. kan vi fatta rätt beslut för ett sample så utmanar vi ej algoritmen med det mer. Men betraktat från att approximera funktionen L2-distans utnyttjande derivatan L1-distans känns det lite speciellt - det lämnar frågan om hur vektorernas positioner samverkar utanför hur vi vill se det trots att det är högst verkligt påverkande).


För gradient descent clustering online. Jämfört med moment, medelvärdesbildning gradienter och/eller tillstånd m.fl. standard-optimeringar vi kan göra av gradient-descent för som här clustering får man här ut ungefär 10 ggr mer än de samlat räknat från samlad similarity korrekta kontra defekta ord genererade tillstånden topp tio tusen. Förutsättande för allt andra metoder hanterande detta med resp. ej medtaget för övriga. Moment, förändring alpha upp eller ner något från riktning gradienter sista stegen innan m.m. har jag också tagit bort, medan jag behåller medelvärdesbildningarna vilka fortsatt tillför märkbart (men ej i nivå: jag tror dock att för kategorier färre i antal ord och/eller naturligt krävande färre epoker att de troligt levererar mer än såväl denna metod som moment m.m. I princip tycks de för mig sudda ut nersidan av online-träning på ordvektorer utan att värdet av det påverkas alls - om ej startande från påbörjade tillstånd spekulerar jag också att när de första tidiga epokerna är gjorda att medelvärdesbildningarna också en tid levererar väsentligt mer. Dock är jag tveksam till poängen alls att utnyttja min metod här tidigt under träningen där jag gärna ser att det hela för in mycket information mindre diskriminerande medan den svårare förädlingen avlägsnande ut irrelevant information bättre görs senare när det är givet att vad irrelevant kvar ej naturligt från god-algoritmen gick bort av sig själv). Det är lite speciellt - och just exempel på matematiska konceptuella frågor jag tror är väldigt sunt att avstå från att engagera sig i - varför moment blir i princip föga meningsfulla av vad vi gör här. Själva formen på vad vi kanske kan tänka oss som en kurva - lutningen mot någon extrempunkt - påverkas ej på ett självklart sätt (men i all rimlighet är det väl just inflygningen som förenklas här - mjukare med mindre lösningar man upplever sämre än vad man önskat fortfarande tänkbara tydliga nog för att slöa ner eller frysa utvecklingen).


En fråga är kanske hur värdet ser ut när gradient descent utnyttjas tillsammans med back-propagation. Back-propagation är funktionellt - och har kanske sitt större praktiska värde egentligen - utanför de arketypiska typerna av neuronnäten. Har vi ex. besläktade ML-kategorier (utan att just prövat detta) kan vi utnyttja det för att låta en förändring i sig positiv-del-kategori-1 inverkar på positiv-del-kategori-2. Jag tycker det känns mer naturligt att se det som en metod relaterad spreading-activation över godtyckliga grafer. Det är ej självklart för mig om metoden är problematisk med back-propagation eller fungerar helt jämförbart. Backpropagation till sin natur bär ju mycket av mer uttryckt värde i segment där utmaningen att garantera att idealiseringen klarar att inkludera godtyckliga okända koncept (ex. som här tränande på i huvudsak 1-gram och några två-gram trots det få en idealisering som kan bedöma godtyckliga ngram, eller lika gärna ett ej överdrivet stort chunk med ord upp till två-tre meningar med rimlig ambition och test av om träningen är klar) är föga och vi snarare är i problem där mindre storleksordningar på träningsdata är aktuella görande problematik rörande överträning enkelt. Men sådant har kanske egentligen mer att göra med att vad backpropagation normalt används för - d.v.s. neuronnät - ej bra klarar mycket stora kategorier av ord och gärna kan hamna i överträning (resultat i "gömt" delsteg i algoritmen i form av "neuron" vars effekt ingen människa någon ser tränar sig till att uttrycka noll på allt utom en position efter en egentlig gigantisk arbetsinsats träning ersättande en enkel människo-gjord if-sats - för generiskt vanligt i klassiska prototypiska neuronnät även om utvecklingen gått framåt ganska ordentligt sista åren efter att föreställningar om hur neuronnät "måste" / "ska" se ut passerade ut).


Betraktar vi endast ord som sådana finns egentligen föga värde av att alls skapa idealiserade vektor-representationer. Man kan lika gärna - och bättre egentligen - utnyttja viktsystem för ord och hantera frågan om vad inkluderat eller ej genom att sätta sig en vecka vid behov och sortera ytterligare en 10 000 ord (den vinnande "third world IT-out-sourcing" metoden men gjort ännu lite smartare reducerande kostnaden ytterligare en bit skärande bort Bangladesh-IT-arbetaren genom att göra det själv - säkrare än varianterna att gå förbi universitetet och utge sig för att komma från GODTYCKLIGT-COOLT-IT-FÖRETAG-MAN-VILL-ARBETA-OSS för att göra en tävling man kan VINNA-EN-EJ-OTROLIG-SAK-I-DVS-RIMLIG-I-VÄRDE-OCH-DÄR-ALLA-KÄNNER-ATT-DE-MER-ÄN-ANDRA-KOMMER-GÖRA-SIG-BESVÄR och lämna ut A4-blad med ord man behöver sorterade stående bakom ett bord: Moraliskt kan man givetvis ifrågasätta den senare metoden samtidigt minns jag ett år när jag gästföreläste i krypteringskursen och någon av studenterna stal min Microsoft-penna i silver jag några år innan köpt i Palo Alto. Så åtminstone för mig är just moral ej en fråga här: They - studenterna: i affär av idealisering av en kategori är generaliseringen svår att argumentera mot moraliskt givet att konceptet av de enskilda objekten ej existerar - own me. Flera timmar om inte hela deras liv i alla fall. Jag känner mig fortfarande lätt irriterad över penna-incidenten. Min långsinthet imponerar som alltid och dominerar lätt i ett fåtal saker som vuxen mina samlade minnen uppväxt + vuxna-år. Vore inte mer än rätt att göra några omgångar student-mining men kanske mer i kodutveckling: Varför jag ska behöva sitta och koda sämre motiverad saknande min silverpenna medan dom okynnes festar finns ej ett bra svar på att hitta i åtminstone min powering-up med moral och etik management-lära).