Delavnice

ČETRTEK, 20. 6. 2019, 9:30 – 13:00

 

Delavnica 1
Hyperledger Iroha Hands-on Workshop

Overview

Hyperledger Iroha is an open-source, distributed ledger, which has its own technical properties and vision inspired by but equally important to the vision and technical characteristics of other blockchain platforms governed by the Hyperledger Project (Fabric). It was originally developed by the Japanese company  Soramitsu and later contributed to the Linux Foundation’s Hyperledger Project.

Hyperledger Iroha is written in C++, making it ideal for use cases where high performance and reliability are needed. It has a small set of commands and queries focused on enabling financial applications, digital asset management, and digital identity use-cases for enterprises of any size.

Iroha is a combination of simple ideas that together create a powerful and straightforward blockchain platform: (1) Learnability, (2) Byzantine Fault Tolerant Consensus algorithm – YAC, (3) Command-driven architecture (16 command and 11 queries in total), (4) various OS support, (5) Role-based access control, (6) Client libraries (iOS, JS, Android), (7) Multisignature accounts and APIs, (8) Security and improved cryptography, and (9) Client-centricity.

Iroha supports any blockchain-related use cases including interbank settlement, record keeping, exchanges and safe storage, identity, and personal data management. These use cases are supported with its robust APIs that can efficiently provide such functionality and are used by Soramitsu in various projects.

Duration

4 hours

Requirements

  • Programming experience
  • Basic understanding of blockchain networks is helpful

Audience

  • Developers

Workshop overview

In this instructor-led, live training, participants will learn:

  • the difference between Iroha and other Hyperledger frameworks,
  • the Iroha Architecture, Data structures in Iroha,
  • commands and queries in Iroha,
  • potential use-cases,
  • how to set up an Iroha node locally,
  • how to use Iroha Java Client library
  • how to create a simple web service, used as a middleware between client’s end application and Iroha network using wireframe for the Web Service on Kotlin,
  • how to create a mobile blockchain-based application using Iroha.

By the end of this training, participants will be able to:

  • Use Iroha to build, deploy, and run a simple distributed ledger and demo mobile application.
  • Create and manage custom complex assets (currencies, indivisible rights, serial numbers, patents, etc.).
  • Manage user accounts, verify user permissions, etc.
  • Validate business rules for transactions and queries in the system.

Format of the workshop

  • Part lecture, part discussion, exercises and heavy hands-on practice.

 

Oprema, ki je potrebna za udeležbo na delavnici

Za nemoten potek delavnice je zaželjeno, da si udeleženci namestijo naslednje programe:

Poleg naštetih programov se bo potrebovalo tudi naslednje docker slike:

  • hyperledger/iroha:1.0.0
  • postgres:9.5

Namesti se jih lahko z ukazi:

  • docker pull hyperledger/iroha:1.0.0
  • docker pull postgres:9.5

Zaželeno je tudi, da si udeleženci pred udeležbo preberejo pregled in primere uporabe Irohe  na naslovih:

 

Delavnica 2
Osnove globokega učenja in računalniški vid

Velika množica podatkov, ki so danes na razpolago in tehnološki razvoj so omogočili, da je pred nekaj leti prišlo do velikega preboja na področju strojnega učenja in umetne inteligence. Pojavila so se avtonomna vozila, računalniki so začeli premagovati človeka tudi v najbolj zapletenih igrah, tehnike umetne inteligence so spremenile splet, poslovne procese, diagnosticiranje v zdravstvu, ipd. Strojno učenje omogoča optimizacijo kompleksnih problemov brez globljega ekspertnega znanja.

Kaj je globoko učenje?

Globoko učenje je ena izmed tehnik strojnega učenja, ki se zgleduje po delovanju človeških možganov. Osnova globokega učenja so večslojne umetne nevronske mreže, ki izvajajo določeno nalogo. Globoko učenje se uporablja na področjih računalniškega vida, strojnega prevajanja besedil, bioinformatike, izdelave zdravil in podobno.

Kaj je računalniški vid?

Računalniški vid je disciplina, ki se ukvarja z razumevanje slik in videa s pomočjo računalnika. Do neke mere posnema delovanje človekovega vida. Najpogostejši primeri uporabe računalniškega vida so: klasifikacija slik, prepoznavanje in lociranje objektov na slikah, prepoznavanje dogajanja na video vsebinah in podobno.

Vsebina delavnic:

Prvi del: Klasifikacija slik z uporabo orodja DIGITS

Predstavitev osnov globokega učenja in konvolucijskih nevronskih mrež na primeru avtomatske razpoznave psov in mačk:

  • Kako se pripravijo podatki in učno okolje
  • Kako se izbere ustrezni učni model in izvede učenje
  • Kako se izboljša učinkovitost rešitve s povečanjem števila iteracij in dodajanja novih učnih vzorcev

Po končani delavnici bodo udeleženci sposobni oceniti kakšni podatki so primerni za učenje globokih nevronskih mrež.

Drugi del: Razpoznavanje objektov s pomočjo orodja DIGITS

V drugem delu delavnice se bo prikazalo kako se lahko, na osnovi znanih rešitev nekega problema, rešujejo novi problemi. Izziv bo razpoznati glave kitov in njihov položaj na slikah posnetih iz zraka:

  • Kako združiti tehnike računalniškega vida z globokim učenjem
  • Kako z »operacijo možganov« nadgraditi obstoječo nevronsko za reševanje novih problemov
  • Kako izkoristiti znanje skupnosti raziskovalcev na področju globokega učenja za reševanje konkretnih problemov

Po končani delavnici bodo udeleženci sposobni poiskati rešitve za lastne probleme povezane z globokim učenjem.

Izvedba delavnic:

Na delavnicah bodo udeleženci praktično preizkusili delovanje globokih nevronskih mrež. Predavatelj bo najprej predstavil teoretično ozadje in tipične primere uporabe, preostali čas pa bodo udeleženci ob pomoči predavatelja in asistentov sami reševali konkretne probleme.

Delavnice bodo izvedene z uporabo brskalnika na oblačnih virih, ki jih zagotavlja podjetje NVIDIA. V sklopu delavnic se bo uporabljalo najsodobnejše grafične pospeševalnike ter nekaj najnovejših odprtokodnih programskih orodij in programskih knjižnic s področja strojnega učenja.

Programska ogrodja: Caffe v okolju DIGITS

Udeležba na delavnicah ne predvideva večjega programerskega ali matematičnega predznanja in je primerna za vse, ki jih zanima strojno učenje, umetna inteligenca in možnosti, ki jih ponujajo globoke nevronske mreže na področju računalniškega vida.

Izvajalci:

  • Domen Verber, FERI
  • NVIDIA, Inštitut za globoko učenje (Deep learning institute – DLI)

Oprema, ki je potrebna za udeležbo na delavnici

Za sodelovanje na delavnici je potrebno imeti s seboj prenosnik, ki ima nameščen brskalnik