Introduktion till maskininlärning med TensorFlow 2.0

Maskininlärning (Machine Learning, ML) representerar ett nytt paradigm i programmering, där du istället för att programmera explicita regler på ett språk som Java eller C ++, bygger ett system som tränas och lärs upp på data från ett stort antal exempel, för att sedan kunna dra slutsatser av ny data baserat på de mönster som identifierats utifrån träningsdatat.
Men hur ser ML egentligen ut? I del ett av Machine Learning Zero to Hero går AI-evangelisten Laurence Moroney (lmoroney @) genom ett grundläggande Hello World-exempel på hur man bygger en ML-modell och introducerar idéer som vi kommer att tillämpa i det senare avsnittet om datorseende (Computer Vision) längre ner på denna sida.
Vill du ha en lite mer omfattande introduktion rekommenderar jag Introduction to TensorFlow 2.0: Easier for beginners, and more powerful for experts.

(40:55)

Intro to Machine Learning (ML Zero to Hero, part 1)

Prova själv den här koden i Hello World of Machine Learning: https://goo.gle/2Zp2ZF3

Basic Computer Vision with ML (ML Zero to Hero, part 2)

I del två av Machine Learning Zero to Hero går AI-evengalisten Laurence Moroney (lmoroney @) genom grundläggande datorseende (Computer Vision) med maskininlärning genom att lära en dator hur man ser och känner igen olika objekt (Object Recognition).

Fashion MNIST – ett dataset med bilder på kläder för benchmarking

Fashion-MNIST är ett forskningsprojekt av Kashif Rasul & Han Xiao i form av ett dataset av Zalandos artikelbilder. Det består av ett träningsset med 60 000 bildexempel och en testuppsättning med 10 000 exempel. Varje exempel är en 28 × 28 pixlar stor gråskalabild, associerad med en etikett från 10 klasser (klädkategorier).
Fashion-MNIST är avsett att fungera som en direkt drop-in-ersättning av det ursprungliga MNIST-datasättet för benchmarking av maskininlärningsalgoritmer.

fashion-mnist-sprite

Fashion MNIST dataset

Varför är detta av intresse för det vetenskapliga samfundet?

Det ursprungliga MNIST-datasättet innehåller många handskrivna siffror. Människor från AI / ML / Data Science community älskar detta dataset och använder det som ett riktmärke för att validera sina algoritmer. Faktum är att MNIST ofta är det första datasetet de provar på. ”Om det inte fungerar på MNIST, fungerar det inte alls”, sägs det. ”Tja, men om det fungerar på MNIST, kan det fortfarande misslyckas med andra.”

MNIST Dataset för nummerklassificering

Fashion-MNIST är avsett att tjäna som en direkt drop-in ersättning för det ursprungliga MNIST-datasetet för att benchmarka maskininlärningsalgoritmer, eftersom det delar samma bildstorlek och strukturen för tränings- och testdelningar.

Varför ska man ersätta MNIST med Fashion MNIST? Här är några goda skäl:

GitHub:

Find detailed information and the data set on GitHub

Här är ett exempel på datorseende som du kan testa själv: https://goo.gle/34cHkDk

Se mer om att koda TensorFlow → https://bit.ly/Coding-TensorFlow
Prenumerera på TensorFlow-kanalen → http://bit.ly/2ZtOqA3

Introducing convolutional neural networks (ML Zero to Hero, part 3)

I del tre av Machine Learning Zero to Hero diskuterar AI-evangelisten Laurence Moroney (lmoroney @) CNN-nätverk (Convolutional Neural Networks) och varför de är så kraftfulla i datorseende-scenarier. En ”convolution” är ett filter som passerar över en bild, bearbetar den och extraherar funktioner eller vissa kännetecken (features) i bilden. I den här videon ser du hur de fungerar genom att bearbeta en bild för att se om du kan hitta specifika kännetecken (features) i bilden.

Codelab: Introduktion till invändningar → http://bit.ly/2lGoC5f


Introducing convolutional neural networks (ML Zero to Hero, part 3)

Build an image classifier (ML Zero to Hero, part 4)

I del fyra av Machine Learning Zero to Hero diskuterar AI-evangelisten Laurence Moroney (lmoroney @) byggandet av en bildklassificerare för sten, sax och påse. I avsnitt ett visade vi ett scenario med sten, sax och påse, och diskuterade hur svårt det kan vara att skriva kod för att upptäcka och klassificera dessa. I de efterföljande avsnitten har vi lärt oss hur man bygger neurala nätverk för att upptäcka mönster av pixlarna i bilderna, att klassificera dem, och att upptäcka vissa kännetecken (features) med hjälp av bildklassificeringssystem med ett CNN-nätverk (Convolutional Neural Network). I det här avsnittet har vi lagt all information från de tre första delarna av serien i en.

Colab anteckningsbok: http://bit.ly/2lXXdw5
Rock, papper, saxdatasätt: http://bit.ly/2kbV92O


Build an image classifier (ML Zero to Hero, part 4)

Programmera biologiska celler – nästa mjukvarurevolution

The next software revolution – programming biological cells

00:04
The second half of the last century was completely defined by a technological revolution: the software revolution. The ability to program electrons on a material called silicon made possible technologies, companies and industries that were at one point unimaginable to many of us, but which have now fundamentally changed the way the world works. The first half of this century, though, is going to be transformed by a new software revolution: the living software revolution. And this will be powered by the ability to program biochemistry on a material called biology. And doing so will enable us to harness the properties of biology to generate new kinds of therapies, to repair damaged tissue, to reprogram faulty cells or even build programmable operating systems out of biochemistry. If we can realize this — and we do need to realize it — its impact will be so enormous that it will make the first software revolution pale in comparison.

01:11
And that’s because living software would transform the entirety of medicine, agriculture and energy, and these are sectors that dwarf those dominated by IT. Imagine programmable plants that fix nitrogen more effectively or resist emerging fungal pathogens, or even programming crops to be perennial rather than annual so you could double your crop yields each year. That would transform agriculture and how we’ll keep our growing and global population fed. Or imagine programmable immunity, designing and harnessing molecular devices that guide your immune system to detect, eradicate or even prevent disease. This would transform medicine and how we’ll keep our growing and aging population healthy.

01:59
We already have many of the tools that will make living software a reality. We can precisely edit genes with CRISPR. We can rewrite the genetic code one base at a time. We can even build functioning synthetic circuits out of DNA. But figuring out how and when to wield these tools is still a process of trial and error. It needs deep expertise, years of specialization. And experimental protocols are difficult to discover and all too often, difficult to reproduce. And, you know, we have a tendency in biology to focus a lot on the parts, but we all know that something like flying wouldn’t be understood by only studying feathers. So programming biology is not yet as simple as programming your computer. And then to make matters worse, living systems largely bear no resemblance to the engineered systems that you and I program every day. In contrast to engineered systems, living systems self-generate, they self-organize, they operate at molecular scales. And these molecular-level interactions lead generally to robust macro-scale output. They can even self-repair.

03:07
Consider, for example, the humble household plant, like that one sat on your mantelpiece at home that you keep forgetting to water. Every day, despite your neglect, that plant has to wake up and figure out how to allocate its resources. Will it grow, photosynthesize, produce seeds, or flower? And that’s a decision that has to be made at the level of the whole organism. But a plant doesn’t have a brain to figure all of that out. It has to make do with the cells on its leaves. They have to respond to the environment and make the decisions that affect the whole plant. So somehow there must be a program running inside these cells, a program that responds to input signals and cues and shapes what that cell will do. And then those programs must operate in a distributed way across individual cells, so that they can coordinate and that plant can grow and flourish.

03:59
If we could understand these biological programs, if we could understand biological computation, it would transform our ability to understand how and why cells do what they do. Because, if we understood these programs, we could debug them when things go wrong. Or we could learn from them how to design the kind of synthetic circuits that truly exploit the computational power of biochemistry.

04:25
My passion about this idea led me to a career in research at the interface of maths, computer science and biology. And in my work, I focus on the concept of biology as computation. And that means asking what do cells compute, and how can we uncover these biological programs? And I started to ask these questions together with some brilliant collaborators at Microsoft Research and the University of Cambridge, where together we wanted to understand the biological program running inside a unique type of cell: an embryonic stem cell. These cells are unique because they’re totally naïve. They can become anything they want: a brain cell, a heart cell, a bone cell, a lung cell, any adult cell type. This naïvety, it sets them apart, but it also ignited the imagination of the scientific community, who realized, if we could tap into that potential, we would have a powerful tool for medicine. If we could figure out how these cells make the decision to become one cell type or another, we might be able to harness them to generate cells that we need to repair diseased or damaged tissue. But realizing that vision is not without its challenges, not least because these particular cells, they emerge just six days after conception. And then within a day or so, they’re gone. They have set off down the different paths that form all the structures and organs of your adult body.

05:51
But it turns out that cell fates are a lot more plastic than we might have imagined. About 13 years ago, some scientists showed something truly revolutionary. By inserting just a handful of genes into an adult cell, like one of your skin cells, you can transform that cell back to the naïve state. And it’s a process that’s actually known as ”reprogramming,” and it allows us to imagine a kind of stem cell utopia, the ability to take a sample of a patient’s own cells, transform them back to the naïve state and use those cells to make whatever that patient might need, whether it’s brain cells or heart cells.

06:30
But over the last decade or so, figuring out how to change cell fate, it’s still a process of trial and error. Even in cases where we’ve uncovered successful experimental protocols, they’re still inefficient, and we lack a fundamental understanding of how and why they work. If you figured out how to change a stem cell into a heart cell, that hasn’t got any way of telling you how to change a stem cell into a brain cell. So we wanted to understand the biological program running inside an embryonic stem cell, and understanding the computation performed by a living system starts with asking a devastatingly simple question: What is it that system actually has to do?

07:13
Now, computer science actually has a set of strategies for dealing with what it is the software and hardware are meant to do. When you write a program, you code a piece of software, you want that software to run correctly. You want performance, functionality. You want to prevent bugs. They can cost you a lot. So when a developer writes a program, they could write down a set of specifications. These are what your program should do. Maybe it should compare the size of two numbers or order numbers by increasing size. Technology exists that allows us automatically to check whether our specifications are satisfied, whether that program does what it should do. And so our idea was that in the same way, experimental observations, things we measure in the lab, they correspond to specifications of what the biological program should do.

08:02
So we just needed to figure out a way to encode this new type of specification. So let’s say you’ve been busy in the lab and you’ve been measuring your genes and you’ve found that if Gene A is active, then Gene B or Gene C seems to be active. We can write that observation down as a mathematical expression if we can use the language of logic: If A, then B or C. Now, this is a very simple example, OK. It’s just to illustrate the point. We can encode truly rich expressions that actually capture the behavior of multiple genes or proteins over time across multiple different experiments. And so by translating our observations into mathematical expression in this way, it becomes possible to test whether or not those observations can emerge from a program of genetic interactions.

08:55
And we developed a tool to do just this. We were able to use this tool to encode observations as mathematical expressions, and then that tool would allow us to uncover the genetic program that could explain them all. And we then apply this approach to uncover the genetic program running inside embryonic stem cells to see if we could understand how to induce that naïve state. And this tool was actually built on a solver that’s deployed routinely around the world for conventional software verification. So we started with a set of nearly 50 different specifications that we generated from experimental observations of embryonic stem cells. And by encoding these observations in this tool, we were able to uncover the first molecular program that could explain all of them.

09:43
Now, that’s kind of a feat in and of itself, right? Being able to reconcile all of these different observations is not the kind of thing you can do on the back of an envelope, even if you have a really big envelope. Because we’ve got this kind of understanding, we could go one step further. We could use this program to predict what this cell might do in conditions we hadn’t yet tested. We could probe the program in silico.

10:08
And so we did just that: we generated predictions that we tested in the lab, and we found that this program was highly predictive. It told us how we could accelerate progress back to the naïve state quickly and efficiently. It told us which genes to target to do that, which genes might even hinder that process. We even found the program predicted the order in which genes would switch on. So this approach really allowed us to uncover the dynamics of what the cells are doing.

10:39
What we’ve developed, it’s not a method that’s specific to stem cell biology. Rather, it allows us to make sense of the computation being carried out by the cell in the context of genetic interactions. So really, it’s just one building block. The field urgently needs to develop new approaches to understand biological computation more broadly and at different levels, from DNA right through to the flow of information between cells. Only this kind of transformative understanding will enable us to harness biology in ways that are predictable and reliable.

11:12
But to program biology, we will also need to develop the kinds of tools and languages that allow both experimentalists and computational scientists to design biological function and have those designs compile down to the machine code of the cell, its biochemistry, so that we could then build those structures. Now, that’s something akin to a living software compiler, and I’m proud to be part of a team at Microsoft that’s working to develop one. Though to say it’s a grand challenge is kind of an understatement, but if it’s realized, it would be the final bridge between software and wetware.

11:48
More broadly, though, programming biology is only going to be possible if we can transform the field into being truly interdisciplinary. It needs us to bridge the physical and the life sciences, and scientists from each of these disciplines need to be able to work together with common languages and to have shared scientific questions.

12:08
In the long term, it’s worth remembering that many of the giant software companies and the technology that you and I work with every day could hardly have been imagined at the time we first started programming on silicon microchips. And if we start now to think about the potential for technology enabled by computational biology, we’ll see some of the steps that we need to take along the way to make that a reality. Now, there is the sobering thought that this kind of technology could be open to misuse. If we’re willing to talk about the potential for programming immune cells, we should also be thinking about the potential of bacteria engineered to evade them. There might be people willing to do that. Now, one reassuring thought in this is that — well, less so for the scientists — is that biology is a fragile thing to work with. So programming biology is not going to be something you’ll be doing in your garden shed. But because we’re at the outset of this, we can move forward with our eyes wide open. We can ask the difficult questions up front, we can put in place the necessary safeguards and, as part of that, we’ll have to think about our ethics. We’ll have to think about putting bounds on the implementation of biological function. So as part of this, research in bioethics will have to be a priority. It can’t be relegated to second place in the excitement of scientific innovation.

13:26
But the ultimate prize, the ultimate destination on this journey, would be breakthrough applications and breakthrough industries in areas from agriculture and medicine to energy and materials and even computing itself. Imagine, one day we could be powering the planet sustainably on the ultimate green energy if we could mimic something that plants figured out millennia ago: how to harness the sun’s energy with an efficiency that is unparalleled by our current solar cells. If we understood that program of quantum interactions that allow plants to absorb sunlight so efficiently, we might be able to translate that into building synthetic DNA circuits that offer the material for better solar cells. There are teams and scientists working on the fundamentals of this right now, so perhaps if it got the right attention and the right investment, it could be realized in 10 or 15 years.

14:18
So we are at the beginning of a technological revolution. Understanding this ancient type of biological computation is the critical first step. And if we can realize this, we would enter in the era of an operating system that runs living software.

Machine Learning för webben

Med TensorFlow.js kan du snabbt och enkelt skapa webbapplikationer som använder Artificiell Intelligens (AI) och Machine Learning (ML) med ett fåtal rader JavaScript-kod.
Det finns en hel del färdigbyggda och förtränade ML-modeller med JavaScript API:er som du kan använda direkt för tillämpningar som t ex:
Image Classification
Image Segmentation
Object Detection
Pose Detection
Speech Commands
Text Classifications
Augmented Reality
Gesture-based interaction
Speech recognition
Accessible web apps
Sentiment analysis, abuse detection
Conversational AI
Web page optimization
m.m.

Machine Learning magic for your web application with TensorFlow.js (Chrome Dev Summit 2019) 8:30






Learn more: TensorFlow.js → https://goo.gle/2XLhMe0 Tensorflow.js Github → https://goo.gle/2DcgLCe#ChromeDevSummit All Sessions → https://goo.gle/CDS19

Principer för hållbar design

Principerna för hållbar design är integrerade i alla stadier i design- och byggprocessen och kan driva innovation, samtidigt som naturresurserna bevaras.

Denna kurs innehåller videoföreläsningar, designutmaningar, programvaruhandledning för Fusion 360 och en rad hållbara designdokument och exempel från ledande experter inom området. Under denna kurs kommer du att använda programvaran Fusion 360 CAD / CAM för att designa, utveckla, prototypa och testa hållbar innovation genom en serie 3-timmars utmaningsuppdrag.

Genom att använda detta strukturerade tillvägagångssätt kan du lära dig att stänga av dina förutfattade meningar och se saker på ett nytt sätt. Oavsett om du vill förbättra en befintlig lösning eller ta itu med en hållbar utmaning för första gången, förbereder denna kurs produktdesigners och ingenjörer att ta ett snabbt steg framåt för att integrera principerna för hållbarhet i deras designprocess.

The Principles of Sustainable Design



The principles of sustainable design are integral to all stages of the design and build process and can drive innovation, while also preserving natural resources.

This course includes video lectures, design challenges, Fusion 360 software tutorials, and a range of sustainable design documents and examples from leading experts in the field. During this course, you’ll use Fusion 360 CAD/CAM software to design, develop, prototype, and test sustainable innovation through a series of 3-hour challenge assignments.

Working through this structured approach, you can learn how to suspend your judgment and look at things in a new way. Whether you are looking to improve an existing solution or address a sustainable challenge for the first time, this course prepares product designers and engineers to take a quick step forward to integrating the principles of sustainability into their design process.

Project resource download

Getting started
In this lesson, we’ll discover what you’ll learn in this course and download the software and resources you need.

Instructor guidePrinciples of Sustainable Design – Instructor guide

Lesson 1: Introduction to sustainable design
This lesson introduces you to case studies of good practice models.

Lesson 2: Extending product lifetimes
This lesson introduces you to good practice models for improving product lifetimes.

Lesson 3: Green materials
This lesson provides you with lectures, videos, case studies, and good practice models for green materials selection.

Lesson 4: Reducing energy loss
This lesson introduces you to case studies and good practice models for energy-efficient design, including fluid dynamics, optimizing heat transfer, and reducing friction.

Lesson 5: Lightweighting
This lesson introduces you to case studies and good practice models for lightweighting in design.

Lesson 6: Persuasive design
This lesson introduces you to case studies and good practice models for persuasive design.

Lesson 7: Biomimicry
This lesson introduces you to case studies and good practice models for biomimicry.

Appendix: Getting started with Fusion 360
This lesson introduces you to case studies and good practice models when using CAD/CAM in the design development process.

The values and principles of the Agile Manifesto

The Four Values of The Agile Manifesto

The Agile Manifesto is comprised of four foundational values and 12 supporting principles which lead the Agile approach to software development. Each Agile methodology applies the four values in different ways, but all of them rely on them to guide the development and delivery of high-quality, working software.

1. Individuals and Interactions Over Processes and Tools
The first value in the Agile Manifesto is “Individuals and interactions over processes and tools.” Valuing people more highly than processes or tools is easy to understand because it is the people who respond to business needs and drive the development process. If the process or the tools drive development, the team is less responsive to change and less likely to meet customer needs. Communication is an example of the difference between valuing individuals versus process. In the case of individuals, communication is fluid and happens when a need arises. In the case of process, communication is scheduled and requires specific content.

2. Working Software Over Comprehensive Documentation
Historically, enormous amounts of time were spent on documenting the product for development and ultimate delivery. Technical specifications, technical requirements, technical prospectus, interface design documents, test plans, documentation plans, and approvals required for each. The list was extensive and was a cause for the long delays in development. Agile does not eliminate documentation, but it streamlines it in a form that gives the developer what is needed to do the work without getting bogged down in minutiae. Agile documents requirements as user stories, which are sufficient for a software developer to begin the task of building a new function.
The Agile Manifesto values documentation, but it values working software more.

3. Customer Collaboration Over Contract Negotiation
Negotiation is the period when the customer and the product manager work out the details of a delivery, with points along the way where the details may be renegotiated. Collaboration is a different creature entirely. With development models such as Waterfall, customers negotiate the requirements for the product, often in great detail, prior to any work starting. This meant the customer was involved in the process of development before development began and after it was completed, but not during the process. The Agile Manifesto describes a customer who is engaged and collaborates throughout the development process, making. This makes it far easier for development to meet their needs of the customer. Agile methods may include the customer at intervals for periodic demos, but a project could just as easily have an end-user as a daily part of the team and attending all meetings, ensuring the product meets the business needs of the customer.

4. Responding to Change Over Following a Plan
Traditional software development regarded change as an expense, so it was to be avoided. The intention was to develop detailed, elaborate plans, with a defined set of features and with everything, generally, having as high a priority as everything else, and with a large number of many dependencies on delivering in a certain order so that the team can work on the next piece of the puzzle.

With Agile, the shortness of an iteration means priorities can be shifted from iteration to iteration and new features can be added into the next iteration. Agile’s view is that changes always improve a project; changes provide additional value.

Perhaps nothing illustrates Agile’s positive approach to change better than the concept of Method Tailoring, defined in An Agile Information Systems Development Method in use as: “A process or capability in which human agents determine a system development approach for a specific project situation through responsive changes in, and dynamic interplays between contexts, intentions, and method fragments.” Agile methodologies allow the Agile team to modify the process and make it fit the team rather than the other way around.

The Twelve Agile Manifesto Principles

The Twelve Principles are the guiding principles for the methodologies that are included under the title “The Agile Movement.” They describe a culture in which change is welcome, and the customer is the focus of the work. They also demonstrate the movement’s intent as described by Alistair Cockburn, one of the signatories to the Agile Manifesto, which is to bring development into alignment with business needs.

The twelve principles of agile development include:

  1. Customer satisfaction through early and continuous software delivery – Customers are happier when they receive working software at regular intervals, rather than waiting extended periods of time between releases.
  2. Accommodate changing requirements throughout the development process – The ability to avoid delays when a requirement or feature request changes.
  3. Frequent delivery of working software – Scrum accommodates this principle since the team operates in software sprints or iterations that ensure regular delivery of working software.
  4. Collaboration between the business stakeholders and developers throughout the project – Better decisions are made when the business and technical team are aligned.
  5. Support, trust, and motivate the people involved – Motivated teams are more likely to deliver their best work than unhappy teams.
  6. Enable face-to-face interactions – Communication is more successful when development teams are co-located.
  7. Working software is the primary measure of progress – Delivering functional software to the customer is the ultimate factor that measures progress.
  8. Agile processes to support a consistent development pace –Teams establish a repeatable and maintainable speed at which they can deliver working software, and they repeat it with each release.
  9. Attention to technical detail and design enhances agility – The right skills and good design ensures the team can maintain the pace, constantly improve the product, and sustain change.
  10. Simplicity – Develop just enough to get the job done for right now.
  11. Self-organizing teams encourage great architectures, requirements, and designs – Skilled and motivated team members who have decision-making power, take ownership, communicate regularly with other team members, and share ideas that deliver quality products.
  12. Regular reflections on how to become more effective – Self-improvement, process improvement, advancing skills, and techniques help team members work more efficiently.

The intention of Agile is to align development with business needs, and the success of Agile is apparent. Agile projects are customer focused and encourage customer guidance and participation. As a result, Agile has grown to be an overarching view of software development throughout the software industry and an industry all by itself.


Kent Beck
Mike Beedle
Arie van Bennekum
Alistair Cockburn
Ward Cunningham
Martin Fowler
James Grenning
Jim Highsmith
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave Thomas

© 2001, the above authors

Agil systemutveckling

Att bedriva utveckling med agila metoder innebär att man arbetar iterativt och inkrementellt med många små och snabba delleveranser i regelbundet korta intervaller.
Arbetssättet är flexibelt och betonar snabb­­het, in­formellt sam­arbete, täta kund­kontakter och möjlig­het att ändra under arbetets gång. (Se agil.) Även krav­specifikationen bör kunna revideras under projektets gång eftersom behov, önskemål och förutsättningar kan förändras över tid.
Det är mer att betrakta som en rörelse, inte en en­­hetlig metod.
Manifestet för agil system­­utveckling (länk) publicerades 2001 av en grupp pro­grammerare som hade reagerat på strävan efter detaljerade kravspecifikationer, omfattande dokumentation och byråkratiserande metoder och processer som var resultatet av den traditionella projektmodellen ”vattenfallsmetoden”. De bildade Agile Alliance (länk), och har sedan dess utvecklat verk­tyg och andra hjälp­medel.
Scrum och Kanban är två vanliga agila metoder som hjälper projektteam att prioritera, synliggöra arbete och framsteg och minska flaskhalsar i produktionen.
Klicka här för en artikel om Kanban.

Klicka här för en artikel som beskriver grunderna i Scrum.

Klicka här för att läsa ett blogginlägg om vad det innebär att arbeta agilt.

Agila manifestet består av följande fyra grundläggande värden och 12 stödjande principer som leder den agila strategin för mjukvaruutveckling. Varje agil metodik tillämpar de fyra värdena på olika sätt, men alla litar på dem för att vägleda utvecklingen och leveransen av högkvalitativ, fungerande programvara.

Vi finner bättre sätt att utveckla programvara genom att utveckla själva och hjälpa andra att utveckla. Genom detta arbete har vi kommit att värdesätta:

1. Individer och interaktioner framför processer och verktyg.
2. Fungerande programvara framför omfattande dokumentation.
3. Kundsamarbete framför kontraktsförhandling.
4. Anpassning till förändring framför att följa en plan.

Det vill säga, medan det finns värde i punkterna till höger, värdesätter vi punkterna till vänster mer.

Principerna bakom det agila manifestet

Vi följer dessa 12 principer:

  1. Vår högsta prioritet är att tillfredsställa beställarens önskemål genom tidig och kontinuerlig leverans av värdefull programvara.
  2. Välkomna förändrade krav, även sent under utvecklingen. Agila metoder utnyttjar förändring till kundens konkurrensfördel.
  3. Leverera fungerande programvara ofta, med ett par veckors till ett par månaders mellanrum, ju oftare desto bättre.
  4. Verksamhetskunniga och utvecklare måste arbeta tillsammans dagligen under hela projektet.
  5. Bygg projekt kring motiverade individer. Ge dem den miljö och det stöd de behöver, och lita på att de får jobbet gjort.
  6. Kommunikation ansikte mot ansikte är det bästa och effektivaste sättet att förmedla information, både till och inom utvecklingsteamet.
  7. Fungerande programvara är främsta måttet på framsteg.
  8. Agila metoder verkar för uthållighet. Sponsorer, utvecklare och användare skall kunna hålla jämn utvecklingstakt under obegränsad tid.
  9. Kontinuerlig uppmärksamhet på förstklassig teknik och bra design stärker anpassningsförmågan.
  10. Enkelhet – konsten att maximera mängden arbete som inte görs – är grundläggande.
  11. Bäst arkitektur, krav och design växer fram med självorganiserande team.
  12. Med jämna mellanrum reflekterar teamet över hur det kan bli mer effektivt och justerar sitt beteende därefter.

Läs gärna mer om manifestet med tydliga förklaringar av varje princip i denna artikel på engelska.

SJ satsar på VR och AR

SJ har sedan något år tillbaka en uttalad målsättning att bli ett av Sveriges mest digitaliserade bolag. Det låter kanske en smula klyschigt och är egentligen ganska ointressant.
Det som däremot är väldigt intressant och spännande är att se att SJ, till skillnad från väldigt många andra, faktiskt gör konkreta och vettiga digitaliseringssatsningar som skapar reellt värde, faktisk kundnytta samt leder till betydande besparingar och påtagliga effektiviseringar av verksamheten.

Några exempel:
Idag sker 97 % av SJ:s biljettförsäljning digitalt där kunderna bokar själva online. För bara 5 år sedan var den siffran 50 %.
50 % av alla bokningar sker via smartphones.
60 % av alla betalningar sker idag via Swish, som bara funnits som betalningsalternativ sedan 2017.
Alla ombokningar av resenärer vid inställda tåg eller kraftiga förseningar sker idag helt automatiskt och digitalt, vilket krävde väldigt mycket tid och resurser tidigare pga manuellt arbete av personal som oftast var underbemannade när det verkligen hände.

SJ använder sig av Design Thinking och låter sina kunder/resenärer vara delaktiga vid utvecklingen och utvärderingen av nya mobila tjänster som t ex VägvisARen som är en AR-guide för att hitta rätt på stationen m.m (se nedan).

VR i utbildningen av de anställda.

SJ utbildar sin personal med hjälp av virtuell verklighet (VR).
SJ utbildar sina anställda mha virtuell verklighet VR. Foto: Andreas Lundberg SJ/TT

SJ använder nu VR i utbildningen av sin personal eftersom de ser att det både ökar utbildningskvaliteten och effektiviserar utbildningsverksamheten, jämfört mot de traditionella lärarledda utbildningarna.
Denna digitala transformation inom SJ, och det förändrade användarbeteendet hos resenärerna mot att använda och föredra de digitala mobila tjänsterna, har gått väldigt snabbt.

SJ utbildar sin personal med hjälp av virtuell verklighet (VR).
Lokförare och tågvärdar hos SJ ska före årets slut ha utbildats med hjälp av virtuell verklighet (VR)

Över 2 500 lokförare och tågvärdar hos SJ ska före årets slut ha utbildats med hjälp av virtuell verklighet (VR). En fördel är att kunna träna på farliga moment, till exempel övningar som rör starkström.

VR-satsningen ingår i ett stort digitaliseringsprogram inom SJ. I september inleddes utbildningen som medger att personalen kan träna om och om igen och inte behöver resa till en viss ort för att skola sig.

Nu finns VR på 14 av SJ:s stationeringsorter. Utbildningarna är inspirerade av dataspelsvärlden och handkontroller används. De har även börjat testa eye tracking-teknik för att styra delar av upplevelsen med ögonen. När till exempel en dörr stängs på det virtuella tåget går det lite trögt precis som i verkligheten. Det karaktäristiska pyset när dörren öppnas ingår också.

– Den stora fördelen är att vi inte blir lika beroende av att använda fysiska tåg i utbildningen, säger affärsutvecklare Aron Wahlberg på SJ till TT.

Genom att kunna simulera säkerhetsprocesser och öva på olika scenarier på de flesta av SJ:s fordonstyper, hoppas den statliga tågoperatören nå ökad punktlighet, säkerhet och service.

Personalen VR-tränas i stressiga och svåra situationer som brand, dålig sikt och plötsliga distraktioner precis vid avgång. Ett annat exempel är hanteringen av rullstolslift som kräver elva olika steg och handgrepp.

– Reaktionerna har över lag varit väldigt positiva och personalen kommer med nya idéer om hur VR kan utnyttjas i utbildningen, säger Aron Wahlberg.

Demo av VR-utbildning i hantering av rullstolslift

Virtual Reality på nya X 2000

Utvecklingen av nya X 2000 har lämnat skisstadiet och nu börjar testandet av olika funktioner.
Premiärturen för det första nya X 2000 kommer att ske i slutet av 2019/början av 2020. Under år 2021 ska samtliga X 2000 ha fått ny inredning, nya stolar, ny bistro, nya digitala skärmar och nya tekniska system. För att testpersonerna ska kunna uppleva det nya tåget redan nu satsar de på VR.

 – Vi vill använda nya, spännande lösningar när vi utvecklar nya tjänster och produkter, säger Anna Fahlkrans, affärsutvecklare på SJ. Utvecklingen av nya X 2000 är en miljardsatsning och det är viktigt att kunder och personal på ett tidigt stadium kan ge synpunkter på det vi utvecklar. Senare i år kommer också all ny teknisk utrustning att testas. Därefter kommer designen av den nya bistrovagnen samt nya digitala skärmar.

Den som redan nu vill se hur de nya tågen kommer att se ut kan ta en titt på VR-filmen nedan. Filmen, som har tagits fram av Rayvr och SJ Labs, tar dig med genom 2 klass, via bistron och vidare till 1 klass.

VägvisARen gör ditt resande lättare

Skärmbild på VägvisARen
Test av funktionen VägvisARen i SJ-appen

Med hjälp av VägvisARen kan användaren hitta rätt på tågstationer genom att följa instruktioner som visas på skärmen samtidigt som kameran visar omgivningen. Den använder Augmented Reality, eller AR-teknik, för att guida dig på t ex Stockholm Central till pendeltåget eller till ditt nästa tåg. Från och med april 2018 kan man testa VägvisARen i appen SJ Labs på Stockholms Centralstation och från juni på sträckorna Stockholm C – Stockholms södra / Flemingsberg, Stockholms södra – Stockholm C samt Flemingsberg – Stockholm C.

Via gröna prickar visar vägvisAren i mobiltelefonen var du ska gå. Foto: Jörgen Appelgren

AI bortom hypen – 5 000 chefer om AI-användning

RAPPORT 22 OKTOBER 2019

En ny undersökning från Ledarna visar att AI-mognaden i Sverige är mycket lägre än vad tidigare studier har visat, och att organisatorisk anpassningsförmåga är en flaskhals för utvecklingen. Vår rapport pekar på hur chefer kommer att spela en nyckelroll för att realisera potentialen i implementeringen av artificiell intelligens.

En robotarm som möter en kavajklädd arm pekfinger mot pekfinger.
Ledarskap och chefskompetens nyckeln till AI-mognad.

Rapport: AI bortom hypen – 5 000 chefer om AI-användningen i svenska företag och organisationer

Rapporten drar främst tre slutsatser:

  • När AI-mognaden är låg ställs högre krav på ledarskapet. Det handlar inte bara om ny teknik, utan att chefer får ta ett stort ansvar för att ro detta i land.
  • AI-implementering kräver att organisationen anpassar sig. Rapporten kartlägger hur utbrett AI-arbetet är bland organisationerna. Och siffrorna pekar på att de flesta chefer behöver skala upp det organisatoriska arbetet om pilotprojekt ska kunna realiseras i framtiden.
  • Ledarskap och chefskompetens nyckeln till AI-mognad. Ledare som kan påverka riktningen behövs för att AI ska kunna implementeras, det är ingenting som händer av sig självt.

Om rapporten

Ledarna har tagit fram rapporten tillsammans med Joakim Wernberg, fil. dr. och forskningsledare vid Entrepenörskapsforum.

Rapporten ger en ögonblicksbild av hur chefer ställer sig till AI, och är baserad på en undersökning bland 5 000 chefer. Undersökningen gjordes av Novus.

Debatt

Läs Ledarnas debattinlägg hos Computer Sweden: Det är cheferna som måste se till att vi kommer igång med AI

Vad kommer folk ha på sig i framtiden?

En ny våg av innovation driver en radikal förändring av mode och textilbranschen. I framtiden kan kläder vara datorer, tillverkade med material designade och odlade i ett labb.

Filmen nedan ger en inblick i det som har kommit att kallas Fashiontech.

Kopiera nedanstående text, klistra in den i din loggbok och läs sedan texten.

Bärbar teknik, data, automatisering och labbodlat material kommer att ha en stor inverkan på vad människor kommer att ha på sig i framtiden.

Sedan sömnaden och vävningen föddes har tekniken alltid lett till utveckling inom mode. Den industriella revolutionen mekaniserade tillverkning som möjliggör massproduktion. På 1960-talet tog syntetiska material som polyester fart och skapade nya möjligheter för mode.

Nu öppnar konvergensen av ny teknik upp tidigare otänkbara möjligheter.
Dr Amanda Parkes är modevetenskapsman och chef för innovation vid FT-labs, ett riskkapitalföretag som främst investerar i modetekniska startups. Hon berättar att det bland dessa nystartade företag handlar om att hitta nästa generation förnybara material som kan odlas i ett labb. Traditionell siden produceras av insektslarver som bildar kokonger, oftast silkesmaskar. Men snarare än att lita på dessa insekter, så skapar bulttrådar silke i provrör. Biotillverkade material tar bort behovet av djur och insekter och det är ett mer hållbart och effektivt sätt att producera råmaterial.

Andra företag skapar läderalternativ. I stället för att använda djur skapar forskare biotillverkade material från ananasblad och till och med svamp. Konvergensen mellan mode och teknik ger också möjligheter att förändra inte bara kläder utan de människor som bär dem.

Myant är ett företag som är banbrytande i skapandet av kläder som kan övervaka alla dina rörelser. Så kallade smarta tyger förutspås bli nästa stora genombrott för bärbar teknik. Garn kombineras med elektroniska sensorer så att viktiga data kan fångas från människokroppen. För att skapa kläder som kan övervaka bärarens hälsa och fitness har Myant samlat team av människor som inte traditionellt har arbetat under samma tak. Smarta tyger kan radikalt förändra konsumenternas relationer till kläderna de bär, men när tekniken ökar förändringstakten, hur kan branschen hålla reda på vad konsumenterna verkligen vill ha?

Francesca Muston är chef för detaljhandeln på WGSN, världens ledande modeprognosbyrå. Personalen här använder big data för att analysera politiska, sociala och miljömässiga trender för att förutsäga morgondagens heta mode. Teknik driver en explosion i konsumentens val såväl som det förvirrande utbudet av kläddesign och skapande. För att textil- och modebranschen ska överleva vänder de sig till tekniken. Maskininlärningsteknologier är nu centrala för modeprognoser, vilket snabbt upptäcker mönster bland den ständigt växande datamängden.

Från bioteknik till demografiska förändringar och att förutsäga trender är inte längre en konst, det har blivit en vetenskap.

Fashiontech produktutveckling

Konstruktion TE18DP

I konstruktionskursens del av Fashiontech-projektet kommer vi jobba med både Elektronikkonstruktion och Mekanisk konstruktion.

Elektronikkonstruktionsarbetet omfattar följande delar:

  • Kravspecifikation/kravbeskrivningar
  • Funktionsspecifikation/funktionsbeskrivning
  • Blockschema
  • Flödesschema/flödesmodeller
  • Kopplingsschema 
  • Kretsschema
  • Kretskortslayout
  • Mönsterkort
  • Anslutningsdon
  • Ledare och kablage
  • Kylning
  • Analog och digital teknik, analoga och digitala komponenter, signaler och kretsar.
  • Logik och Boole’s algebra
  • Funktionstabeller/sanningstabeller
  • Olika talsystem, binära, hexadecimala
  • ASCII-kod och Unicode
  • Prototyper, test och simuleringar
  • Lödning
  • Strömförsörjning och olika batterityper
  • Elektronikproduktion, produktionsmetoder och produktionsteknik
  • Projektdokumentation
  • Projektkommunikation

Lektionsuppgifter v 43:

  1. Bestäm vilken yrkeskategori du vill designa, konstruera och skapa en riktig prototyp av ett Fashiontech-plagg till. Skriv in vilken yrkeskategori du valt (målgrupp) och skriv vilket klädesplagg (produkt) du vill skapa.

2. Skriv en lista på vilka funktioner du tycker att plagget ska ha.
Varje funktion ska lösa någon form av användarbehov. Skriv en funktionsbeskrivning för respektive funktion och vilket behov eller problem den löser.
Gör funktionsbeskrivningen hierarkisk. Först en övergripande beskrivning för respektive funktion, sedan en mer detaljerad beskrivning av funktionerna. Vad gör funktionen? Varför ska den finnas? Hur fungerar den? Hur ska funktionen styras?

3. Gör research.
Sök efter liknande smarta plagg, wearables eller andra produkter som löser samma problem eller tillgodoser de användarbehov du vill adressera med din Fashiontech-produkt. Samla på dig relevant info som du hittar. Lägg in länkar till dina källor och kopiera text och bilder som du anser kan vara bra att ha. Ta gärna med flera olika varianter av varje konkurrerande befintlig produkt du hittar. Ta reda på hur produkterna fungerar, hur de är uppbyggda, konstruerade, vilka material som används, specifikationer och egenskaper m.m.

4. Skapa en komponent-lista till ditt Fashiontech-plagg.
Vilka komponenter tror du kommer behövas för att erhålla önskad funktion?
Gör research; sök efter tänkbara komponenter eller moduler som har de funktioner och egenskaper som du tror behövs. Samla på dig info som du hittar. Lägg in länkar till dina källor. Ta med flera olika varianter av varje komponent. Är du osäker på om din produktidé kommer fungera rent konceptuellt så kan du bygga en prototyp och testa funktionen. Vilka delar/komponenter eller moduler kan du använda för att bygga en fungerande konceptprototyp?

Skriv in vad du behöver för komponenter i denna gemensamma komponentlista:

5. Arbeta med designen av ditt Fashiontech-plagg.
Samla på dig inspirationsbilder och förlagor som du hittar på Internet. Kopiera in dem i din Design-loggbok.
Du kan även börja skissa på hur du vill att ditt Fashiontech-plagg ska se ut (uppgift i kursen Bild och form).

6. Skapa en beskrivande och säljande presentation av ditt Fashiontech-plagg-projekt. I detta läge handlar det inte om att göra reklam för en färdig produkt, utan en presentation av din projektidé. Berätta vad du planerar att göra, lära dig och beskriv funktionerna som det smarta plagget ska ha och vilka problem hos kunderna du försöker lösa.
Denna presentation ska vi lägga upp på www.fashiontech-projects.se efter höstlovet.