Faits : A. Par jugement du 31 janvier 2017, le Tribunal correctionnel du canton de Genève a condamné X._, pour viol, contrainte sexuelle, tentative de contrainte sexuelle, contrainte, lésions corporelles simples, voies de fait, menace, injure ainsi que pour séjour et travail illégaux, à une peine privative de liberté de trois ans, sous déduction de 485 jours de détention avant jugement. Il a soumis l'intéressé à un traitement institutionnel en milieu fermé jusqu'à décision contraire de l'autorité d'exécution, précisant que l'exécution de la mesure primait la peine privative de liberté. B. Par arrêt du 11 septembre 2017, la Chambre pénale d'appel et de révision de la Cour de justice genevoise a admis partiellement l'appel principal formé par X._ et rejeté l'appel joint formé par A._, B._ et C._. Elle a modifié le jugement attaqué en ce sens qu'elle a acquitté X._ des chefs d'accusation de viol ainsi que partiellement des faits d'entrée illégale et l'a condamné à une peine privative de liberté de deux ans, sous déduction de 708 jours de détention avant jugement, à une peine pécuniaire de 20 jours-amende à 10 fr. le jour et à une amende de 600 fr., la peine privative de liberté de substitution en cas de défaut de paiement de l'amende étant fixée à six jours. Pour le surplus, elle a maintenu le traitement institutionnel selon l'art. 59 CP. En résumé, elle a retenu les faits suivants: B.a. A._, née en 1962, a deux fils, à savoir C._, né le en 2000, et B._, né en 1997. Elle avait besoin d'aide pour s'occuper de ce dernier, qui était handicapé mental et qui pouvait se montrer violent à son égard. En mai 2015, une amie lui a présenté X._, né en 1982, comme une personne de confiance pour l'aider. A la fin juin 2015, X._ et A._ ont débuté une relation amoureuse. Dès ce moment, celui-ci s'est montré inadéquat, très impulsif et extrêmement jaloux. B.b. Au mois de septembre 2015, dans le salon, X._ a maintenu de force A._, lui a ôté son pantalon et s'est placé derrière elle, pour la pénétrer analement, alors qu'elle ne voulait pas. Elle a réussi à se dégager de son emprise en chutant à terre. X._ lui a alors asséné des gifles au visage avec son sexe. A plusieurs reprises, X._ a tiré les cheveux de A._ et lui a uriné dessus. B.c. X._ a quitté le domicile de A._ au début du mois de septembre 2015. Le 2 octobre 2015, cette dernière a accepté de l'héberger pour deux jours, car il n'avait nulle part où aller. Dans la nuit du 4 octobre 2015, X._ a contraint A._ à se mettre dans le lit avec lui et, en usant de force, alors qu'elle manifestait son opposition, en criant notamment de la lâcher, il l'a dévêtue et a notamment léché ses seins. Plus tard, après avoir insulté et frappé A._ dans la chambre de son fils et s'être montré violent envers ses enfants, il lui a de nouveau ordonné de se coucher à ses côtés, la menaçant de " lui démolir la gueule ", lui a touché et léché les seins, puis mis les doigts dans son vagin, passant outre son consentement, alors que la victime était effrayée à la suite du récent déferlement de violence. X._ a donné des coups à A._ dans la chambre de son fils C._, ainsi qu'après que ce dernier fût parti de l'appartement. La victime est tombée au sol à la suite du coup reçu et sa tête a heurté le radiateur. Il a également donné un violent coup à C._, qui a présenté des céphalées et des vomissements et qui a été conduit à l'hôpital, ainsi qu'à B._, sans toutefois le blesser. X._ a tenu des propos et des gestes menaçants qui, dans le prolongement du déferlement de violence précédemment décrit, ont effrayé A._. Il l'a également injuriée ainsi que son fils C._. C. Contre ce dernier arrêt, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut, principalement, à l'annulation de l'arrêt attaqué et au renvoi de la cause à la cour cantonale pour instruction complémentaire et nouvelle décision au sens des considérants. En outre, il sollicite l'assistance judiciaire.