Schlagwort-Archive: KI

Ein Roboter darf keinen Menschen verletzen! LOL

Bild aus dem Film I Robot
I Robot

Ich finde es immer noch amüsant, was sich Asimov in Runaround schon 1943 ausdachte:
1.) Ein Roboter darf kein menschliches Wesen verletzen oder durch Untätigkeit gestatten, dass einem menschlichen Wesen Schaden zugefügt wird.
2.) Ein Roboter muss den ihm von einem Menschen gegebenen Befehlen gehorchen – es sei denn, ein solcher Befehl würde mit Regel eins kollidieren.
3.) Ein Roboter muss seine Existenz beschützen, solange dieser Schutz nicht mit Regel eins oder zwei kollidiert
0.) Ein Roboter darf die Menschheit nicht verletzen oder durch Passivität zulassen, dass die Menschheit zu Schaden kommt
In den letzten Jahrzehnten verfolgte ich einige sehr langweilige Diskussionen, in denen es um die Rechte von Androiden ging. Jetzt wird mit der Schuldfrage bei selbstfahrenden Autos das Thema wieder ein wenig realistischer und interessanter.
Selbstfahrende Autos: Wer haftet?
Wer haftet, wenn selbstfahrende Autos Unfälle bauen?
Noch interessanter finde ich Aussagen vom EU-Abgeordneten Mady Delvaus: Wir müssen in Erwägung ziehen, dass die KI die intellektuellen Fähigkeiten des Menschen innerhalb nur weniger Jahrzehnte überflügeln könnte.“ Das weitere Schlussfolgerungen aus dieser Möglichkeit zu der Frage führen, ob sich die Spezies Mensch mit dieser Entwicklung selbst gefährdet, liegt auf der Hand.
Meiner Meinung nach liegt es jetzt noch bei uns, ob selbstlernende Roboter eine Gefahr für die Menschheit, oder, ob sie zum Segen der Menschheit werden. Daher ist es essentiell, dass wir uns dafür einen international gültigen rechtlichen Rahmen für die weitere Forschung und Entwicklung zulegen. Morgen könnte es dazu bereits zu spät sein, denn wenn wir alleine die Risiken und Herausforderungen eines immer engeren Zusammenwirkens von Menschen und Robotern im Alltag berücksichtigen, werde sogar ich einen selbstlernenden Androiden besitzen, bevor es eine Gesetzesgrundlage dafür gibt, was er darf und was nicht.
Ich bin unbedingt für technischen Fortschritt und träume von einer objektiven, logischen KI, welche die Fehler, emotionaler, habgieriger, religiöser Fanatiker und Menschen korrigiert, aber nicht um jeden Preis. Vielleicht wäre es momentan sinnvoller sich darum zu bemühen, dass die Menschen weltweit ein friedvolles, erfülltes Leben führen können. Denn auf dieser Basis hätten wir auch von einer mächtigen KI nichts zu befürchten, weil wir sie (noch) entwerfen. Entwickeln wir sie um Macht über andere zu erlangen, um Kriege zu gewinnen und andere zu unterdrücken, dann kann ich nur froh darüber sein, dass ich heute lebe und die zukünftigen Generationen bedauern.
Will sich jemand dazu einen kalten Schauder über den Rücken laufen lassen und ein Horrorszenario in Form einen Sci-Fi Romanes lesen, der findet hier die Heliosis.

Weblinks:
Robotik und Künstliche Intelligenz: EU Parlament verabschiedet erste „Robotergesetze“
Charta der Digitalen Grundrechte der Europäischen Union
CHARTA DER DIGITALEN GRUNDRECHTE DER EUROPÄISCHEN UNION
ENTWURF EINES BERICHTS mit Empfehlungen an die Kommission zu zivilrechtlichen Regelungen im Bereich Robotik (2015/2103(INL))
Künstliche Intelligenz und künstliche Moral (1) – von dummen Mördern und künstlichen Polizisten

(16)

Wie lange noch ist unser Gehirn Maschinen überlegen?

Wie lange noch ist unser Gehirn Maschinen überlegen? Fragt man sich heute schon bei „Die Welt“.
Es ist also nur mehr eine Frage der Zeit. Vor 20 Jahren war mir das schon klar, als ich die „3. Generation von Gott“ und ähnliches schrieb. Damals wurde ich ausgelacht, als Spinner bezeichnet und IT-Fachleute betonten immer wieder, dass der Blechtrottel nie mehr können kann, als ihm der Programmierer ermöglicht. Er kann nicht selbstständig entscheiden und sich nicht verbessern und weiterentwickeln, hieß es. Heute weiß man es anscheinend sogar schon bei „Der Welt“, obwohl der Artkel kaum etwas hergibt, außer oberflächliche, allgemeine Aussagen, ohne jeden technischen Hintergrund, aber es ist eben nur ein „Verpixelbildrätzel“, dass selbstständiges Lernen und ein sich selbst optimieren und reproduzieren für Maschinen heute nicht mehr außergewöhlich ist. Wer sich informiert, wie weit man in Spracherkennung, Semantik, Bildanalyse, Objekterkennung, Übersetzung, Roboti, KI … heute bereits ist, währen er/sie vom Auto selbstständig ans Ziel gebracht wird, dem wird klar, dass es tatsächlich nur eine Frage der Zeit ist.

(3)

Ein Lernalgorithmus in Python für ein Perzeptron

Was man sich vorher ansehen sollte.
NumPy: Quickstart tutorial bzw. NumPy v1.12.dev0 Manual oder Tentative NumPy Tutorial bzw. auf GitHub scipy-tentative-numpy-tutorials. Wer ein älteres pdf bevorzugt findet es hier doc_numpy-pdf_1

Pandas: http://pandas.pydata.org/pandas-docs/stable/tutorials.html
Matplotlib: http://matplotlib.org/users/beginner.html

Von Python sollte eine 3er Version installiert sein. python -V sagt mir, dass ich Python 3.5.2 installiert habe, womit ich zufrieden bin.
Auf Python 3.5.2 documentation findet man die Doku zu Python und um pip braucht man sich seit der 3.4 Version auch nicht mehr kümmern, da der Paketmanager für PyPI schon automatisch mitinstalliert wird.
Wir verwenden also NumPy, pandas und matplotlib zum Einlesen, Verarbeiten und Visualisieren der Daten und wir werden einen einfachen Algorithmus zur linearen Klassifikation implementieren.
Zuerst schaue ich einmal, ob ich die neueste Version von pip habe und komme mit „pip install –upgrade pip“ auf pip-9.0.1 und schon habe ich falsch gedacht. Ich muss ja pip für Python 3.x installieren mit sudo apt install python3-pip Dann wieder ein –upgrade und ein sudo pip3 install numpy

 

 

 

 

 

Zum Code:

import numpy as np
class Perceptron(object):
"""Perceptron classifier.

Parameters
------------
eta : float
Learning rate (between 0.0 and 1.0)
n_iter : int
Passes over the training dataset.

Attributes
-----------
w_ : 1d-array
Weights after fitting.
errors_ : list
Number of misclassifications in every epoch.

"""
def __init__(self, eta=0.01, n_iter=10):
self.eta = eta
self.n_iter = n_iter

def fit(self, X, y):
"""Fit training data.

Parameters
----------
X : {array-like}, shape = [n_samples, n_features]
Training vectors, where n_samples is the number of samples and
n_features is the number of features.
y : array-like, shape = [n_samples]
Target values.

Returns
-------
self : object

"""
self.w_ = np.zeros(1 + X.shape[1])
self.errors_ = []

for _ in range(self.n_iter):
errors = 0
for xi, target in zip(X, y):
update = self.eta * (target - self.predict(xi))
self.w_[1:] += update * xi
self.w_[0] += update
errors += int(update != 0.0)
self.errors_.append(errors)
return self

def net_input(self, X):
"""Calculate net input"""
return np.dot(X, self.w_[1:]) + self.w_[0]

def predict(self, X):
"""Return class label after unit step"""
return np.where(self.net_input(X) >= 0.0, 1, -1)

 

 
So, soweit funktioniert es und nächstes mal werde ich das Perzeptron-Modell mit den Iris Datensätzen trainieren.


Quelle: Python Machine Learning von Sebastian Raschka; Published 2015-09-23
Weblinks:
https://github.com/arnaudbenard/python-machine-learning
http://stackoverflow.com/questions/36532585/passing-an-array-to-numpy-dot-in-python-implementation-of-perceptron-learning
https://github.com/rasbt/python-machine-learning-book/blob/master/code/optional-py-scripts/ch02.py
http://natureofcode.com/book/chapter-10-neural-networks/
http://stackoverflow.com/questions/36532585/passing-an-array-to-numpy-dot-in-python-implementation-of-perceptron-learning

(24)

Energie für KI

Habe gerade wieder gelesen, dass man unglaublich viel parallele Rechenleistung für gute neuronale Netze benötigt. Ich denke, das liegt am völlig falschen Ansatz. Eine gute KI darf nicht wesentlich mehr Energie benötigen,  als das Gehirn.  Sonst sehe ich mir den Algorithmus nicht einmal noch an, da ich sowieso ein Matheprogramm dahinter vermute, dass vielleicht ein wenig mehr, aber vor allem sehr gut mit Matrizen rechnen kann. Das hat für mich aber nicht sehr viel mit KI zu tun. Für mich sind primitive intelligenter als das beste KI_Programm, das ein Rechenzentrum benötigt, um halbwegs brauchbare Ergebnisse zu liefern. Ich sehe das als simulierte Intelligenz, die natürlich auch künstlich ist, aber meine KI sollte in kurzer Zeit wenigstens intelligenter sein, als ich. Quasi-parallele Prozesse reichen meiner Meinung nach übrigens auch völlig,  denn mein Hirn ist ja auch nur 1 Organ.
Habe überlegt,  wie ich Engamme bzw. Konnektome mit gelernten Gewichten neuronal speichern könnte und kam zu dem Ergebnis, das bestimmte Neoronenverbände dazu erforderlich sind. Fired together – wired together klingt ja recht gut, aber mit speichern im engeren Sinn hat es für mich nichts zu tun. In einer Proteinstruktur gespeichert kommt mir selbst für mein sehr langsames Langzeitgedächtnis viel zu langsam vor, aber das werde ich mir in den nächsten Tagen genauer ansehen.

(486)

Künstliche Intelligenz

Wieso manche Menschen, auch unter UNI-Professoren ist das heutzutage üblich, von KI sprechen können, wenn sie Matrizenrechnen meinen, ist mir ein Rätsel. Vielleicht, weil sie um ein paar, mehr oder weniger sinnlose Funktionen, die aber mathematisch viel hergeben, erweitern und ein mehr oder weniger sinnloses Programm zusammenstoppeln? Ich meine, wer ein neuronales Netz prozedural programmiert, dem ist wohl nicht mehr zu helfen und Denker, wie Hebb, Kohonen und Co sind leider alle schon gestorben. Das Meiste, was an der KI für mich irgendwie brauchbar ist, ist über 50 Jahre alt.

786432 also „1024 × 768“ Inputs sind für ein Netz, das etwas mit Optik zu tun hat, das absolute Minimum und dann brauche ich mindestens an die 1000 hidden layers. Was will man mit ein paar Neurone die eigentlich keine sind und noch dazu (das ist unglaublich für mich) prozedural programmiert sind und die eigentlich nichts anderes, als gewöhnliche Matrizenrechnungen sind, anfangen? Absolut lächerlich, da von KI zu sprechen und Wörter wie „neuronales Netz“ und „Neuron“ zu missbrauchen. Das reicht höchstens für das Hirn und die KI eines von Google indizierten, künstlichen MS-Virus und das, obwohl das Konnektom vom Fadenwurm (Schaltplan seiner 300 Neurone) schon ganz gut erforscht ist.
Naja, was soll’s, man sieht ja, was die derzeitigen Programme her geben – so gut, wie nichts, trotz der guten Lernregeln, die sich große Denker vor einer halben Ewigkeit ausgedacht haben. Die waren das Denken anscheinend noch gewohnt, heute macht das der Computer und morgen meine KI.

Cascade Correlation empfinde ich noch als u. U. brauchbaren Ansatz, sowie ich die ganzen Lernalgorithmen Hebb, Delta, Backpropagation und Netze (Kohonen) …. für sehr interessant und nützlich halte. Dass man damit nicht mehr anfangen kann, wundert mich nicht, denn ich habe mir so einige Umsetzungen angesehen und die können nur sehr eingeschränkt funktionieren, weil sie nicht einmal objektorientiert umgesetzt sind. Es gibt sogar Coder, die in Java irgendwie prozedural programmieren können, was schon ziemlich pervers ist.

Die Amazon Links unten sind nicht einmal Affiliat-Links, weil ich nicht an ein paar Cent interessiert bin, sondern ich will mir die Bücher kaufen und daher notiere ich sie mir einmal.

(827)